71486 " 02166 '
SEPTEMBER 1987
VOL. 5 NO. 9 $3.95
TURBO BASIC VS. QOCKBASIC
LASER ntlVrER METRICS
SIMPLE LAN AUERNAHVES
TUrbo Prolog:
The Natural Language of
Artificial Intelligence
Tlirb
The most powe
compil(
\^T hether you’re a first-time
programmer or an expe-
Yf rienced one, Turbo Prolog’s
natural implementation of Artifi¬
cial Intelligence soon shows you
how to build expert systems, nat¬
ural language interfaces, custom¬
ized knowledge bases and smart
information
management
systems.
lUrbo Prolog and Ibrbo C
work hand-in-hand
Turbo Prolog* interfaces per¬
fectly with Turbo C® because
they’re both designed to work
with each other.
The Turbo Prolog/Turbo C
combination means that you can
now build powerful commercial
applications using two of the
most powerful languages
available.
Ihrbo Prolog’s development
system includes:
S' A complete Prolog compiler that
is a variation of the Clocksin and
Mellish Edinburgh standard
Prolog.
s' A full-screen interactive editor.
s' Support for both graphic and text
windows.
s' All the tools that let you build
your own expert systems and
AI applications with un¬
precedented ease.
All Borland products are trademarks or registered trademarks ot Borland Interna¬
tional, Inc., or Borland/Analytica, Inc. Other brand and product names are trade¬
marks or registered trademarks of their respective holders.
Copyright 1987 Borland International BI-1131A
An affordable, fast, and
easy-to-use language that
will delight the newcomer
... You experienced Prolog
hackers will likewise be
delighted, if not astonished,
by the features and per¬
formance of the Turbo
Prolog development
environment.
Turbo Prolog offers gener¬
ally the fastest and most
approachable implementa¬
tion of that language.
Darryl Rubin, AI Expert 33
How Ibrbo Prolog’s new Tool¬
box adds 80 powerful tools
and 8000 lines of source code
In keeping with Borland tradi¬
tion, we’ve quickly added the
new Turbo Prolog Toolbox™ to
Turbo Prolog.
With 80 tools and 8000 lines
of source code that can easily be
incorporated into your own pro¬
grams—and 40 sample programs
that show you how to put these
AJ tools to work—the Turbo
Prolog Toolbox is a highly intelli¬
gent, high-performance addition.
Only $99,951
Tbrbo Prolog Toolbox
features include:
s' Business graphics generation:
boxes, circles, ellipses, bar charts,
pie charts, scaled graphics
s' Complete communications pack¬
age: supports XMODEM protocol
S' File transfers from Reflex,* dBASE
III,* 1-2-3,* Symphony*
s' A unique parser generator: con¬
struct your own compiler or query
language
s' Sophisticated user-interface design
tools
S' Contains 40 example programs
S^ Easy-to-use screen editor: design
your screen layout and I/O
Sf Calculated fields definition
S' Over 8,000 lines of source code
you can incorporate into your own
programs
O ur new Turbo C generates
I fast, tight, production-
quality code at compilation
speeds of more than 13,000 lines
a minute!
It’s the full-featured optimizing
compiler everyone has-been wait¬
ing for.
Switching to Ihrbo C, or
starting with Ihrbo C, you
win both ways
If you’re already programming
in C, switching to Turbo C will
make you feel like you’re riding a
rocket instead of pedaling a bike.
If you’re never programmed in
C, starting with Turbo C gives you
an instant edge. It’s easy to learn,
easy to use, and the most efficient
C compiler at any price.
Only $99.95!
it Turbo C does look like
What WeVe All Been NC^iting
For: a full-featured compiler
that produces excellent
code in an unbelievable
hurry... moves into a class
all its own among full-
featured C compilers ...
Turbo C is indeed for the
serious developer ... One
heck of a buy—at any
price. Michael Abrash,
Programmer's Journal j j
OC: NEW!
rful optimizing
;r ever
Why more than 600,000
programmers worldwide are using
Thrbo Pascal today
Sieve benchmaiic
Turbo C
Microsoft®
C
Compile time
2.4
13.51
Compile and
link time
4.1
18.13
Execution time
3-95
5.93
Object code
size
239
249
Execution size
5748
7136
Price
$99.95
$450.00
Benchmark run on an IBM PS/2 Model 60 using Turbo C version
1.0 and the Turbo Linker version 1.0; Microsoft C version 4.0 and
the MS overlay linker version 3.51.
Technical Specifications
Compiler: One-pass optimizing com¬
piler generating linkable objea
modules. Included is Borland’s high-
performance Turbo Linker." The object
module is compatible with the PC-
DOS linker. Supports tiny, small, com¬
pact, medium, large, and huge
memory model libraries. Can mix
models with near and far pointers.
Includes floating point emulator
(utilizes 8087/80287 if installed).
Interactive Editor: The system
includes a powerful, interaaive full¬
screen text editor. If the compiler
detects an error, the editor auto¬
matically positions the cursor approp¬
riately in the source code.
Development Environment: A power¬
ful “Make” is included so that manag¬
ing Tbrbo C program development is
highly efficient. Also includes pull¬
down menus and windows.
Links with relocatable object modules
created using Borland’s Tbrbo Prolog
into a single program.
Inline assembly code.
Loop optimizations.
Register variables.
ANSI C compatible.
Start-up routine source code included.
Both command line and integrated
environment versions included.
License to the source code for Run¬
time Library available.
Join more than 100,000 Turbo C
enthusiasts. Get your copy of
Turbo C today!
Minimum system requirements: All products run on IBM PC.
XT. AT. PS/2, portable and true compatibles. PC-DOS (MS-DOS)
2.0 or later. 384K RAM minimum. Basic Telecom and Editor Tool¬
boxes require 640K.
Borland International
4585 Scotts Valley Drive. Scotts Valley, CA 95066
Telephone: (408) 438-8400 Telex: 172373
T Ihe irresistible force behind
Turbo Pascal’s worldwide
success is Borland’s advanced
technology. We created a com¬
piler so fast, that Turbo Pascal* is
now the worldwide standard. And
there are more tools for Turbo
Pascal than for any other develop¬
ment environment in the world.
You’U get everything you
need from Ihrbo Pascal and
its 5 Toolboxes
Turbo Pascal and Family are
all you’ll ever need to perfect pro¬
gramming in Pascal.
If you’ve never programmed
in Pascal, you’ll probably want to
start with Turbo Pascal Tutor® 2.0,
and as your expertise quickly
grows, add Toolboxes like our
• Database Toolbox®
• Editor Toolbox®
• Graphix. Toolbox®
• GameWorks®
and our newest,
• Numerical Methods Toolbox™
And because Turbo Pascal is the
established worldwide standard,
3rd party, independent non-
Borland developers also offer an
incredible array of programs for
Turbo Pascal. Only $99>95!
Borland International’s
Turbo Pascal took the pro¬
gramming world by storm. A
great compiler combined
with a good editor at an
astounding price, the pack¬
age quickly came to be
called, simply. Turbo—and
has sold more than 500,000
copies.
Stephen Randy Davis, PC Magazine
Language deal of the cen-
tury. PC Magazine 33
For Scientists and Engineers:
lUrbo Pascal Numerical
Methods Ibolbox
The Numerical Methods Tool¬
box is a complete collection of
Turbo Pascal routines and pro¬
grams. Add it to your develop¬
ment system and you have the
most comprehensive and power¬
ful numerical analysis capabil¬
ities—at your fingertips!
The Numerical Methods Tool¬
box is a state-of-the-art mathemat¬
ical toolbox with these ten pow¬
erful features:
Zeros of a function
s' Interpolation
S' Differentiation
S' Integration
Sf Matrix Inversion
S' Matrix Eigenvalues
S' Differential Equations
s' Least Squares
s' Fourier Transforms
s' Graphics
Each module comes with pro¬
cedures that can be easily adapted
to your own program. The Tool¬
box also comes complete with
source code. So you have total
control of your application.
OtOy $99.95!
Borland International’s Turbo Pascal, Turbo Basic
and Turbo Prolog automatically identify themselves, by
virtue of their ‘Turbo’ forenames, as superior language
products with a common programming environment.
The appellation also means to many PC users a ‘must
have’ language. To us Turbo C looks like a coup for
Borland.
Garry Ray, PC Week jy
BI-1131A
A technical look at Ihrbo Basic
Sf Full recursion supported
Standard IEEE floating-point format
s' Floating-point support, with full
8087 (math co-processor) integra¬
tion. Software emulation if no
8087 present
S' Program size limited only by avail¬
able memory (no 64K limitation)
s' VGA, CGA, and EGA support
Sf Access to local, static, and global
variables
s' Full integration of the compiler,
editor, and executable program,
with separate windows for editing,
messages, tracing, and execution
s' Compile, run-time, and I/O errors
place you in the source code
where error occurred
s' New long integer (32-bit) data
type
s' Full 80-bit precision
S' Pull-down menus
s' Full window management
Telecom Toolbox is a complete
communications package which
takes advantage of the built-in
communications capabilities of
BASIC—use as is or modify.
• Pull-down menus and windows
• XMODEM support
• VTIOO terminal emulation
• Captures text to disk or printer
• PhoneBook file
• 300,1200, 2400 baud support
• Supports script files
• Fast screen I/O
• Supports most of XTalk’s
command set
• Manual dial and redial options
Use Telecom Toolbox to embed
communications capabilities into
your own programs and/or build
your own communications pack¬
age. Source code included for
all Toolbox code and sample
programs. Only $99.95!
For the dealer nearest you or to order by phone call
( 800 ) 255-8008
in CA (800) 742-1133 in Canada (800) 237-1136
Database Toolbox means that
you don’t have to reinvent the
wheel each time you write new
Turbo Basic database programs.
s' “Trainer” shows you how B-f
trees work. (Simply key in
sample records and you’ll see
your index being built.)
s' Turbo Access instantly locates,
inserts or deletes records in a
database—using B-h trees.
s' Turbo Sort sorts data on single
items or on multiple keys and
features virtual memory
management for sorting large
data files.
Source code included.
Onfy $99.95!
BORLAND
INTERNATIONAL
SUMMER BREAK SPECIAL!
Buy Turbo Basic and get a FREE product.
See your dealer for details!
CIRCLE NO. 254 ON READER SERVICE CARD
Editor Toolbox is all you need
to build your own text editor or
word processor. Includes source
code for two sample editors.
First Editor is a complete editor
ready to include in your programs,
complete with windows, block
commands and memory-mapped
screen routines.
MicroStar" is a full-blown text
editor with a complete pull-down
menu user interface, and gives you
• Wordwrap
• Undo last change
• Auto-Indent
• Find and Find/Replace with options
• Set left/right margins
• Block mark, move and copy
• Tab, insert, overstrike modes, line
center etc.
Includes source code.
Only $99.95! bi-ii 3 ia
TUrbo Basic introduces
its powerful new Telecom, Editor
and Database Tbolboxes
T urbo Basic® is the break¬
through you’ve been waiting
for. The same power we
brought to Pascal with Turbo
Pascal has now been applied
to BASIC with Turbo Basic.
Compatible with BASICA, Turbo
Basic is the high-performance,
high-speed BASIC you’d expect
from Borland.
Basically, lUrbo Basic is
all you need
It’s a complete development
environment which includes an
incredibly fast compiler, an inter¬
active editor and a trace debug¬
ging system. It outperforms all its
rivals, and because it’s compatible
with BASICA, you probably
already know how to use it.
Includes a free MicroCalc"
spreadsheet complete mith source
code, Onfy $99.95!
66 Borland has created
the most powerful version
of BASIC ever.
Ethan Winer, PC Magazine 33
If you thought all file maiu^ers
were alike) think again.
Think Btrieve.
Btrieve stands out as the one file management
system for programmers who are serious about
productivity. With Btrieve, your programs can
use simple subroutine calls to store, retrieve, and
update records. It’s the file handling solution
rich in functionality to meet your needs now
and in the future, as your requirements
grow and change.
Bfast* With Btrieve you develop fast
applications, with ease. Written in
assembly language for IBM PC’s, Btrieve
uses b-tree algorithms with automatic
balancing for fast, efficient file indexing.
Bsafe* Btrieve is the only file manager
with automatic file recovery. Two levels of
database integrity provide complete fault
tolerance in the event of accidents or power
failures.
Bconnected. When your applications require
networking, think Btrieve. A single version runs on all
DOS 3 LAN’s, including IBM PC Network and Novell
Advanced NetWare. Btrieve is also available for
Xenix and other multi-tasking operating systems.
Broyalty Free. No royalty payments on your
applications. Ever.
Bsure. Btrieve comes with comprehensive
documentation and unrivaled technical support for
trouble-free software development. And you can
add Xtrieve to supply your end users with even
more, a menu-driven report writer and query
system.
Thiiik Btrieve. Make your programming
performance stand out. Contact SoftCraft.
SoftCraft
A NOVELL COMPANY
RO. Box 9802, #917
Austin, Texas 78766
(512) 346-8380 Telex 358 200
Bflexible. Develop your PC applications
with the capabilities you need most.
Capabilities such as: unlimited open files,
unlimited records per file, 24 indexes per file
and a maximum file size of 4 gigabytes. All
this with Btrieve plus access from any
programming language.
Btrieve, $245; multi-user Btrieve, $595; Xtrieve, $245;
multi-user Xtrieve, $595 (for report generation, add $145 for single-user and $345 for multi-user).
Requires PC-DOS or MS-DOS 2.X, 3.Xor Xenix. Btrieve and Xtrieve are registered trademarks of SoftCraft Inc.
CIRCLE NO. 201 ON READER SERVICE CARD
SEPTEMBER 1987
TRACKING CODE MODULES / JIM VALLINO
Deadline is approaching, programmers are working feverishly on various parts of the code, source code modules seem to be
reproducing indiscriminately—the program is out of control. The answer may be a source code management system.
50
LASER METRICS / RAINER McCOWN and HEETH CLARK
To judge laser printers against the preeminent member of this elite group, Hewlett-Packard’s LaserJet series, PC Tech Journal has
devised a set of software metrics that measure compatibility with the HP standard. The metrics and their code are described here.
74
LASER PERFORMANCE / RAINER McCOWN and HEETH CLARK
Laser printers are becoming a stock item in most computer systems and are available in great numbers and variety. Using the PC
Tech Journal LaserJet Software Metrics, we evaluate the HP LaserJets- and Series II printers, plus seven others offering HP emulation.
100
REFINING MAINFRAME ACCESS / PAUL FIRGENS
Automation comes to the PC-mainframe connection with AutoKey/3270, a new software product from GDI Systems. AutoKey eases
many tedious tasks that previously required the user to write custom routines, such as manipulating screen buffers and I/O ports.
118
BASIC FACE-OFF / JUSTIN CROM
We put Borland’s Tlirbo BASIC and Microsoft’s QuickBASIC in the ring and let them fight it out, knowing that a clear winner would
likely capture the BASIC market. Each revealed specific strengths in different areas. The outcome of the fight? It’s a draw.
136
SUCCEEDING C / MARTY FRANZ
The new C++ language purports to improve on standard C by adding object-oriented and structured programming features. Two
compilers, Advantage++ and Guidelines++, show C++ to be slower and in some ways more cumbersome than the original C.
166
SIMPLE LAN ALTERNATIVES / MICHAEL HURWICZ
Local area networks may be overkill when the goal is simply to share equipment. An alternative is a peripheral-sharing switch,
which comes in either mechanical or electronic varieties. It costs less, requires less memory, and certainly is easier to install.
186
9 DIRECTIONS
Declaratii 'e Programming
15 LETTERS
32 TECH RELEASES
49 TECH NOTEBOOK
Underline Fix for the EGA
207 PRODUCT WATCH
• SIMPLE
TASKVIEW
TopDOS
215 EXPERT CONSULTANT:
APPUED AI
When a Program
has to Work
223 BOOK REVIEWS
Windows Opened
225 TECH MART
232 TECH MARKETPLACE
244 CALENDAR
245 READER SERVICE CARD
Cover illustration • Andy Levine
Software Tools
For Programmers & Non-Programmers
Get ‘State of the Art’ performance
and save valuable time with these
high quality utilities!
Opt-Tech Sort™
Opt-Tech Sort is a high performance Sort/Merge/Select
utility. It can read, sort and write a file faster than most
programs can even read the data. Example: 1,000
records of 80 bytes can be read, sorted and a new file
written in less than 10 seconds (IBM XT). Opt-Tech Sort
can be used as a stand-alone program or called as a
subroutine to over 25 different programming languages.
All the sorting, record selection and reformatting facilities
you need are included. A partial list of features includes:
The ability to process files of any size. Numerous
filetypes are supported including Sequential, Random,
Delimited, Btrieve, dBASE II & III and many others. Up
to 10 key fields can be specified (ascending or descend¬
ing order). Over 16 different types of data supported.
Powerful record selection capability allows you to specify
which records are to be Included on your output. Record
reformatting allows you to change the structure of your
output record and to output special fields such as record
numbers for use as indexes.
MS-DOS $149. ★NEW^ Xenix $249.
★ NEW* rtn-l ino ★new*
VERSION version
On-Line Help allows you to easily add “Help Windows”
to all your programs. On-Line Help is actually two help
packages in one. You get BOTH Resident (pop-up) and
Callable Help Systems.
The resident version allows you to add help to any
system. Your Help System is activated when the “Hot
Keys” that you specify are pressed. You can then chain
between help windows In any manner you desire.
The callable version allows you to easily display help
windows from your programs. A simple call to the help
system makes the window appear. The original screen
is automatically restored when the help window is
cleared. On-Line Help is callable from over 20 different
languages.
You have full control over the help window content, size,
color and location.
MS-DOS $149. Demo $10. (apply toward purchaae).
Scroll & Recall™
Scroll & Recall is a resident screen and keyboard
enhancement. It allows you to conveniently scroll back
through data that has gone off the top of your display
screen. Up to 27 screens of data can be recalled or writ¬
ten to a disk file (great for documenting systems opera¬
tions). Also allows you to easily recall and edit your
previously entered DOS commands without retyping.
Scroll & Recall Is very easy to use. It’s a resident utility
that’s always there when you need It. MS-DOS $69.
Visa, M/C, AMEX, Check, Money Order, COD
or Purchase Orders accepted.
To order or to receive additional information just call
and receive immediate highly qualified attention!
Opt-Tech Data Processing
P.O. Box 678 — Zephyr Cove, NV 89448
_ (702) 588-3737 _ /
CIRCLE NO. 222 ON READER SERVICE CARD
4
TOURNA
VOL. 5, NO. 9
PUBLISHER: Newton Barrett
EDITORIAL DIRECTOR: Will Fastie
EDITOR: Julie Anderson
EDITORIAL CONSULTANT: Marjory Spraycar _
EDITORIAL
EXECUTIVE EDITORS: Susan Holly, David Methvin
MANAGING EDITOR: Gail Shaffer
SENIOR TECHNICAL EDITOR: Jim Shields
TECHNICAL EDITORS: Caroline Halliday, Ted Mirecki
ASSOCIATE TECHNICAL EDITOR: Maxine Fontana
SENIOR COPY EDITOR: Bruce Ansley
NEW PRODUCTS EDITOR: Carole Eyring
BUSINESS MANAGER: Trish Ledbetter
EDITORIAL SECRETARY: Valerie Rose
RECEPTIONIST: Sharlene Sillaman
CONTRIBUTING EDITORS: Steven Armbrust, Dave Browning, Richard M.
Foard, Ted Forgeron, Thomas V. Hoffmann, Henry F Ledgard,
Max Stul Oppenheimer, Richard L Schwartz, Robert E. Shostak
ART & PRODUCTION
CREATIVE DIRECTOR: Ina Saltz
ART DIRECTOR; Sharon Reuter
ASSOCIATE ART DIRECTOR: Courtney Barone
ASSISTANT ART DIRECTOR: Crystal Hopkins
PRODUCTION MANAGER: Alison Regan Mrohs
CONTRIBUTING ARTISTS: Mociek Albrecht, David Povilaitis
ADVERTISING SALES
NATIONAL SALES MANAGER; Rita Burke
ADVERTISING MANAGER/WEST COAST: Phyllis Egan
MARKETING DIRECTOR: Marti Cunha
SALES SUPPORT ADMINISTRATOR; Lucy Frazer
ADVERTISING COORDINATOR: JeanMarie Donlin
MARKETING COORDINATOR: Kim Schroeder
DISTRICT MANAGERS: Bill Barney’ — Southeast; Gayl Sorota—New England;
John Blake — Mid-Atlantic; Mike Leonard — Midwest; Steve Moorman,
Deborah Gisonni, Nan Hanna—West Coast
ACCOUNT REPRESENTATIVES: Mary> Martin—Southeast and New England;
Nannette Vilushis—Midwest and Mid-Atlantic; Carey Clarke, Patti Ahlswede —
West Coast; Classified Advertising Director—Kathryn Cumberlander
CIRCULATION
CIRCULATION MANAGER: Charles Mast
CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig
MEDIA MANAGER: Melinda Kendall
RETAIL SALES MANAGER: Carol Benedetto _
ZIFF-DAVIS PUBLISHING COMPANY, a division of Ziff Communications Co.
PRESIDENT: Kenneth H Koppel
SENIOR VICE PRESIDENT, Marketing: Paul H Chook
VICE PRESIDENT, Operations: Baird Davis
VICE PRESIDENT, Controller: John Vlachos
VICE PRESIDENT, Creative Services: Herbert Stem
VICE PRESIDENT, Research: Marian O. White
VICE PRESIDENT, Circulation: Alicia Marie Ivans
VICE PRESIDENT, Circulation Services: James Ramaley
VICE PRESIDENT, Marketing Services: Ann Poliak Adelman
VICE PRESIDENT, Development: Seth Alpert
VICE PRESIDENT: Hugh Tietjen
BUSINESS MANAGER; Gary A Gustafson
PRODUCTION DIRECTOR: Walter J. Terlecki
ZIFF COMMUNICATIONS COMPANY
CHAIRMAN: Philip B. Korsant; PRESIDENT: Kenneth H. Koppel; SENIOR VICE PRESIDENT:
Philip Sine; VICE PRESIDENTS: Laurence Usdin, William L Phillips, J. Malcolm Morris,
Steven C. Feinman; TREASURER: Selwyrt I. Tauhman; SECRETARY: Bertram A Abrams
EDITORIAL OFFICE
PC Tech Journal, Suite 800,10480 Little Patuxent Parkway, Columbia, MD 21044. 301/740-
8300. FAX (group 3): 301/740-8809. MClMail: PCTECH. PCTECHline: 301/740-8383. Telex:
6502565932 MCI.
ADVERTISING OFnCES
(East Coast/Midwest) Suite 800, 10480 Little Pamxent Parkway, Columbia, MD 21044.
301/740-8300. (Mid-Atlantic) 118 Palisade Avenue, Suite 5C, ClifFside Park, NJ 07010.
201/945-8833. (West Coast) 3460 Wilshire Blvd., Los Angeles, CA 90010. 213/387-2100;
11 Davis Drive. Belmont. CA 94002. 415/598-2290. _
SUBSCRUmON INQUnUES
PC Tech Journal, P.O. Box 2968, Boulder, CO 80321. Subscription service: 800/525-0643,
303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to Ziff-Davis Publishing. One
Park Avenue, 4th floor, New York, NY 10016. ____
PC Tech Journal (ISSN 0738-0194) is published by Ziff-Davis Publishing Co., a division of
Ziff Communications Co., One Park Ave., New York, NY 10016. Published monthly except
semi-monthly in December. Subscription rate is $34.97 for one year (13 issues). Additional
postage for Canada and Foreign is $.60/copy or $8.00/year. Second-class postage paid at
New York, NY, and at addition^ mailing offices. POSTMASTER: Send address changes to PC
Tech Journal, P.O. Box 2968, Boulder. CO 80321._ __
PC TECH JOURNAL is an independent journal, not affiliated in any way with International
Business Machines Corporation. IBM is a registered trademark of International Business
Machines Corp. Entire contents Copyright ® 1987 Ziff-Davis Publishing Company, a division
of Ziff Communications Company. All rights reserved; reproduction in whole or in part
without permission is prohibited. Direa written requests to Jean Lamensdorf, Licensing
Manager, Reprints/Rights & Permissions, One Park Avenue, New York, NY 10016.
A. 1985 AWARD FOR
BEST COMPUTER MAGAZINE
Computer Press Association
WBPA
▼ saasT’
INTRODUCI NG
PEMSCOPE m
Q uickly and thoroughly debug your soft¬
ware with this new real-time hardware
breakpoint debugger. You’ll be amazed at how
easily you track down the most elusive bugs!
A new generation of debugging is
here! Nowhere else can you
invest less than SIOOO and get the
power of the new Periscope III
board’s hardware breakpoints and
real-time trace buffer! The same board
works on both PC- and AT-class
machines, so you don’t have to buy two
boards just because you have two com¬
puter systems.
Now almost anyone doing serious
software development can afford the
most powerful debugging tool available
short of a S 10,000 in-circuit emulator!
Imagine the competitive edge this
gives you when you’re developing com¬
mercial software. Think of the time
you’ll have to devote to new develop¬
ment instead of debugging current
software.
MMake reaMime software solid.
You can track down bugs in time-
sensitive systems that can only be
found when you’re running your pro¬
gram at full speed.
MSave lots of debugging time. You’ll
find those uninitialized pointers, inter¬
mittent errors, and other subtle bugs
that would take too long to find with a
software-only debugger.
MOptimize your code. Using the bus
cycle information saved in the real-time
trace buffer and Periscope’s high-
resolution timer, you can find and
eliminate the bottlenecks in your code.
M Explore your system. When you
need to understand what’s going on in
your system, you can examine it
thoroughly with Periscope III.
M Features to whet your appetite.
Periscope III is the most comprehen¬
sive, flexible, and easy-to-use product of
its kind! Here are just a few of its
features:
• Set hardware breakpoints on up to l6
ranges of memory and I/O ports
• Qualify breakpoints with data values
and a real-time pass counter
• Don’t worry about zapping the
Periscope software—the 64K of write-
The new Periscope III board is extremely
powerful, yet easy to use. Debug your pro¬
gram at full speed with its hardware break¬
points, then examine what's happened in
its large real-time trace buffer. You don’t
have to worry about zapping Periscope’s
code, because it’s in write-protected RAMI
protected RAM protects it from runaway
programs
• Capture the last 8K bus events in the
real-time trace buffer while your pro¬
gram is running at full speed; specify
that the buffer capture only trigger
events, if that’s all you need to see
• Display the real-time trace buffer in
any of three formats; position the trig¬
ger event at the top, center, or bottom
of the buffer
t Protect your investment. Order
Periscope with confidence because it’s
a proven product—it does its job and
does it well. Periscope’s been on the
market for over two years and it keeps
getting better. The only debugger ever
chosen Product of the Month by PC
Tech Journal, Periscope is used daily by
thousands of developers who depend
on its flexibility and robustness.
Under our 30-day money-back
guarantee, you get your money back if
Periscope doesn’t perform to your
liking. There’s a full one-year warranty
on the hardware.
You get technical support and your
first software update free of charge. We
The I
PERISCOPE
notify you of subsequent
updates for which there’s a
nominal charge, currently
$ 20 .
Once you learn Periscope’s
commands, you can easily
use any model. Only when
extra commands are needed
to deal with model-specific
hardware (there are an additional dozen
commands in Periscope III) are there
any differences.
You can always trade up to another
model of Periscope for the difference in
price plus a small fee, currently $10.
With the release of Periscope III, there’s
a model that fits virtually every
developer’s needs and budget.
Can you afford not to try
Periscope?
Ask current users about Periscope’s
price/performance. They tell us that
Periscope pays for itself in a matter of
hours, and that they can’t live without
it!
Periscope III includes a board
with 64 k of protected program
memory, hardware breakpoints,
& a real-time trace buffer; a break¬
out switch; software; a 200-page
manual; & a quick-reference card,
all for $995 (8 MHz) or $1095
(10 MHz).
Note: Periscope III works on the IBM
PC, XT, & AT, the Compaq 286, and
other 100% compatible machines.
Please call to confirm compatibility
with your machine.
Other models of Periscope include:
Periscope I (Board & Switch) . . $345
Periscope II (Switch). $175
Periscope H-X (Software only) . $145
Call toll free
1-800-722-7006
for more
information
or to order.
14 BONNIE LANE
ATLANTA, GA 30328
404/256-3860
Company, Inc.
CIRCLE NO. 215 ON READER SERVICE CARD
T
‘This is a true multi-
^ user database.
When we saw
the automatic
screen up-
(dating; you
could've
; scraped our
jaws off the
^Paradox 2,0 will do for the
LAN what the spreadsheet
did for the PC.”
David Schulman
^ndix Aerospace
Jim Reichel
\ •!; Atlantic Business
“From a stand¬
point of ease of
usey concurrency
andperformancey
Paradox 2.0
redefines the
meaning of
, ,fmultiuser'.”
'Paradox 2.0 should make 1987 the
year of the network.''
John E McMullen
McMullen &l MpM
Bob
Metcalfe
, 3Com
Corporation
f“It answers our wish listy
providing a painless way to
go from single to multiuser
applications.”
. Barry L. Smith .
\\ Elf Aquitaine
“The multiuser capabilities
are transparent. It adapts to
fyour needs.”
Glen Herbert
Software Developer
ow to keep up with
©1987 Ansa Software. Paradox is a registered trademark of Ansa Software. Lotus is a registered
trademark of Lotus Development Corporation. dBASE is a registered trademark of Ashton-Tate.
amcurrent events
“Record locking is
incorporated into the
interface so the user
doesn't have to worry
about it”
Harry Strauss
Microtec Planning
“The great thing is
that it does more of
the network thinking
for you”
Michael Addice
Aveco Computer
Services
Introducing Paradox 2.0, More power for single
users, unparalleled power for multiple users.
New Paradox® 2.0 puts the power of the
emerging database standard into every'
one’s hands. Single users and multiple
users. Now everyone you work with
can share data in a way that no other
multiuser PC database can offer.
For single users, Paradox 2.0 im'
proves the standard that Paradox 1.1 set
for ease of use, speed and power.
For multiple users, Paradox 2.0 offers
that same performance plus the un'
equaled ability to edit, browse, query,
sort and report a file concurrently—to
get information in real time.
Same time, same network
Our multiuser capabilities work like an
airline reservation system, where people
share and update information constant'
ly. Without getting in one another’s
way. This transparent, concurrent data
sharing lets users do things that are im'
possible in other PC databases.
For example, other databases often
lock entire files, or lock records to make
data below inaccessible.
Paradox 2.0, on the other hand, lets
users edit, browse, query, sort and ere'
ate reports in the same file at the same
time. Records lock automatically, telling
others the user’s name, and leaving data
below accessible. When revisions are
made, the changes appear on all screens
in real time. All without the speed loss
that plagues most multiuser databases.
With all these features, Paradox helps
more people get more done.
Program notes
Paradox 2.0 is a powerful tool to develop
both single and multiuser applications
that let your users concentrate on solv'
ing problems.
’feu get a lot to work with. Our Lotus*'
like interface is easy for users to under'
stand. And our artificial intelligence
hides the program’s complexity.
On top of this, we’ve added en'
hancements. A “Zoom” command in
queries pinpoints data faster. More re'
port options are available. Record
capacity is two billion. And EMS and
EEMS speed processing of the largest
applications. So users get programs
that are both powerful and simple.
We’ve made your life easier, too.
Paradox has always had a decisive prO'
gramming advantage over dBASE® cut'
ting development time and costs by up
to two'thirds. Now, you get even more
power, with 48 new Paradox Applica'
tion Language commands and funC'
tions; sample applications and a data
entry toolkit—many for multiuser de'
velopment. Paradox 2.0 even lets you
use your choice of editor as if it were
part of the system.
Eyewitness report
Study these current events and it’s not
surprising that American Airlines,
Mass Mutual, American Savings
Loan and others are standardizing on
Paradox. Not for one reason, but for
many.
To get the firsthand story, call LSOO'
447'4700, Department 255. Just ask for
information and the location of an
Ansa dealer, who can give you a free
Paradox 2.0 demonstration diskette. In
theU.K.,call01'580'4766.
WHO YA GONNA CAU?
BUGBUSTERS!
0P (<onter> for next p&ge)
COJfE OPEMfOm — (ftay other key to exit trace)
C»ptF). Worker tl). IQ = 199 ;
mra mv’^ ”■*
K mn - C7
90 (KPtr). WorJtop fl 3 ' Salary = 1880801
« 17 C wou K.IWM m tJP+rrra
Bsras ~ ___
e^:0B36 « 65 6K 72 79 80 8* IF FS 83 22 88 Sfl 8ft aHear,.
f ’ ****
■pTM.MOJKHflM® = C7
roJ.WMmil.lIRTOFKIK = B8U
‘pTH.W8*I*tlJ.SVIC0WJ = BM«II
PROBE knows all
about your local
and complex
variables. You can
display and
change an array
of structures as
easily as shown in
this display.
probe's menu
window means
you do not have to
look up debug
commands in the
manual. Entering
the command
name shows you
command syntax.
This is how
PROBE displays
real-time trace
data. Trace
information
includes C source
code, assembly
language and
data which was
read or written
during instruction
execution.
PROBE software
simplifies the
display by tossing
out prefetched but
unexecuted
“Real-time source-level debugging of very large programs simply can^t he done
without Atron^s AT PROBE. ” Ed Oates, Director of PC Software Development, Oracle Corporation
T he good news with your new Microsoft 4.0 or Lattice*
C compilers is that they’re providing more symbolic
debugging information than ever. The bad news is you
can’t fit your program, a software debugger and that monster
symbol table into memory - at least at the same time.
The great news is that Atron’s AT PROBEhardware-
assisted software debugger not only has 1-MByte of onboard
memory for debugger and symbol table, but it now supports
local variables and complex data types.
The AT PROBE is a debugging tool that plugs into your PC
AT and monitors everything the processor is doing. In real
time.
With AT probe’s real-time trace capability, program
execution history is saved on-board, in real time. Once a
hardware trap has occurred, PROBE displays the program
execution in detail, including symbols and source code. Real¬
time trace can show you how out-of-range pointers got that
way. And there’s really no other way to debug interrupt-driven
code.
AT PROBE OPTIMIZES THE OPTIMIZED
When the job of bugbusting is done, your AT PROBE
becomes a performance analyzer. So you can have both
reliability and performance. So you can send only the best
software into the field.
t Systems, Inc
CA 95070
REAL TIME DEBUGGING.
SOONER OR LATER, YOU KNOW YOU’LL NEED IT.
The AT PROBE’S hardware-assisted breakpoints trap on
reading, writing, executing, inputting and outputting. On
single or ranges of addresses, including particular variable
values. All in real time. For a mere software debugger to
attempt this, a 1 minute program would take 5 hours to
execute.
OPTIMIZED CODE - GOOD, BAD AND UGLY
The good news is optimizing compilers generate
very tight code. The bad news. The time to debug
optimized code is inversely proportional to the quality
of the optimizer. Figuring out how in the world you
ended up somewhere gets ugly, fast.
CALL TODAY FOR YOUR FREE BUGBUSTING MANUAL
Nine of the top ten software packages were debugged using
Atron tools. Our complete tutorial on state-of-the-art bug¬
busting is yours, free. Full of examples and illustrations, it
will show you how to become a bugbuster yourself
Call today. Bust bugs tomorrow.
BUGBUSTERS
A division of Northwest Instrumer
20665 Fourth Street • Sarat(
408/741-5900
CIRCLE NO. 203 ON READER SERVICE CARD
*Soon to be supported. Copyright © 1987 by Atron. AT PROBE is a trademark of Atron. IBM and Oracle own numerous registered trademarks.
Adv. by TRBA.
DIRECTIONS
WniFASTBE
Declarative Prograniming
Proceduralprogramming is for eypertE,
but there are not enough of them to go around.
I have been spending some time lately
with application generators. I mean, I
have actually attempted to use some of
these products to build small applica¬
tions—programs I might have written
in Pascd or BASIC two years ago.
Although^application generators
have been around for a long time, pur¬
porting to be such productivity gems,
most have not lived up to their claims.
This time around, however, a couple of
these products are truly impressive and
may point toward a much brighter fu¬
ture for developers, especially consult¬
ants and nonprogrammers. Others are
somewhat less impressive, but still rep¬
resent important levels of utility and
productivity for developers.
Sophisticated program generators
are important for two reasons. First,
professional programmers can be vasdy
more productive if the computer can
do a significant amount of the work,
freeing them from the details and al¬
lowing them to concentrate on the de¬
sign and validation of an application.
Second, nonprogrammers trying to
mount an application will find it possi¬
ble to do so, whereas conventional
programming might be burdensome.
In both cases, the company who is
paying the bills reaps significant re¬
wards: lower project costs and the op¬
portunity to nibble away at the growing
applications backlog.
For a while, during the micro rev¬
olution, many thought the backlog of
applications waiting to be developed
diminished. While it did not vanish
completely, a lot of pressure came off
centralized departments as clever end
users figured out ways to solve isolated
problems with a tiny computer and a
simple program. Data management soft¬
ware then came along for desktops and
allowed more sophisticated users to
solve more complicated problems.
Today, however, the user departments
are facing problems far too complex to
be solved by developers without a
strong technical background. Result: the
applications are starting to back up
again because there just are not
enough technically qualified people to
go around. Anything that can break the
logjam will be extremely valuable.
TABLES, TABLES, TABLES
One of the two application generators I
recently tried and liked is Magic PC,
“The Un-Language,” from Aker Corpo¬
ration in Irvine, California. This prod¬
uct extends the well-known data dic¬
tionary concept to menus and proce¬
dures. The task of creating an applica¬
tion is reduced to filling out tables—
for the data structure of each file, the
hierarchy of menus, and the actions
taken as a result of making a menu
choice. (PC Tech Journal will review
Magic PC in the October issue.)
Although the data dictionary can
sometimes seem procedural in nature,
it is especially disconcerting to use if
you happen to be a programmer. Pro¬
grammers must overcome the tendency
to write a loop or an IF statement and
instead must learn just to add a row to
the table that describes an action. How¬
ever, the declarative style of Magic PC
is seductive, as is the ease with which
an application can be constructed in
piecemeal fashion, in the order the
developer desires. In fact, parts of the
application can be left undone (stubs)
while the developer gets the critical
parts up and running.
Best of all. Magic PC provides a
facility to verijy the application. At any
time, the developer can ask Magic PC
to check the integrity of the application
system. Inconsistencies are reported to
the developer, who can then make the
necessary changes. This is very helpful:
the program is fast and thorough at
running through all the dictionaries
and verifying that they make sense.
Magic PC does have its own set of
idiosyncrasies. The developer is limited
to Magic PC’s style of menus and
screens and cannot attach a Magic PC
application to other code. Clearly, how¬
ever, it can save the developer count¬
less hours for a reasonably large cate¬
gory of application types.
MENUS, MENUS, MENUS
The big draw for the new version 2.0
of Paradox is supposed to be its net¬
work capabilities. They are, in fact,
quite good. However, a tool supplied
with Ansa’s Paradox called the Personal
Programmer (PPROG), along with an¬
other standard feature called the Data
Entry Toolkit, promises to draw even
more attention.
PPROG is a tool (a big tool) that
guides the developer through an appli-
SEPTEMBER1987
9
ILLUSTRATION • MACIEK ALBRECHT
DIRECTIONS
cation from beginning to end. As with
Magic PC, the developer mostly fills out
tables, although sometimes PPROG in¬
vokes the Paradox form or report gen¬
erator with which the developer must
be familiar. PPROG is a guardian angel;
it watches everything you do, checks
validity on the fly, and complains when
it finds an inconsistency.
For example, I suggested an erro¬
neous table relationship to PPROG dur¬
ing the construction of a sample appli¬
cation. PPROG quickly reported that
there did “not seem to be a one-to-one
relationship” between the tables, a re¬
quirement for the particular situation.
That’s a tricky bit of information for the
program to know, and it is an example
of PPROG’s sophistication.
Once the application has been de¬
fined, it can be tested within the
NEWOIDFACES
A number of important changes, are
taking place at PC Tech Journal A
rash of promotions from within have
given old faces new responsibilities, a
reflection of the strong editorial staff
that works so hard for you.
First, I am now the editorial di¬
rector, a position that carries two,
mandates: to probe and report on
products and trends and to lead PC
Tech Journal into an ever more visi¬
ble position in the industry and
among systems developers and inte¬
grators. Working to see a magazine
that I helped bring to life grow into a
stronger voice is a role I relish,
I have turned the editorial helm
over to Julie Anderson, who has been
executive editor and my right hand
for nearly four years. From the very-
first she showed the matogs of a
good editor: sharp mind, keen intui¬
tion, and the courage to ask why and
say no*—-why are we interested in a
topic; no, that article is not good .
enough for our pages. She is a com¬
puter Scientist by training and a ten-
year veteran of the computer indus¬
try. PC Tech Journal will grow and
thrive under her able leadership.
Julie’s first order of business was
a staff reorganization. Two newly ap¬
pointed executive editors will oversee
our unique combination of journalis¬
tic excellence and technical accuracy:
Susan Holly, our savvy chief copy edi¬
tor for the last three years, will lead
our writing/reporting efforts; Dave
Methvin, our . talented technical editor
PPROG environment. If the design is
not to the developer’s liking, it can be
modified. Once the developer is satis¬
fied with the application, PPROG gener¬
ates Paradox Applications Language
(PAL) code. It creates procedures, func¬
tions, modules, and even libraries. The
resultant scripts can be run under Para¬
dox or the Paradox runtime program.
Even after the code has been gener¬
ated, PPROG can be used to modify the
application if the PAL code has not
been manually modified.
For my simple application, I spent
an hour designing it and 90 minutes at
the keyboard using PPROG, which then
spent about 7 minutes generating more
than 1,000 lines of PAL code. The pro¬
gram worked the first time. Writing and
debugging the same PAL code would
have taken me about two days, and that
-in charge of LAN , coverage, will guide
the technical side.
Not everyone is moving up the
masthead. Our founding managing
editor, Marjory Spraycar, is migrating
to an entirely new!: .masthead to be the
editor of i magai
zine she is launchiag for parents ofr
elementary school children. She .
I leaves with our yeiy best wishes.
With superb organizational and
editorial skills, Gail Shaffer glides into
, the managing editor’s slot. Gail has
been with us for &ree years, most.,
recently serving as senior copy editor.
Bruce Ansley, a Texan with the
magic touch when it comes to word
processing and electronic typesetting
procedures, assumes Gail’s duties as
senior copy editor. :.
On the artistic side of the organi¬
zation, Sharon Reuter, associate art ;
direaor for 2Vz years, will continue to
lend us her visual imagination, now
from the perspective of the art direc¬
tor’s chair. Ina skl^ a name you may
remember from rnonths past, is back
on the masthead as creative direaor.
Trish Ledbetter, our administra¬
tive heart and soul, becomes our
business manager, a position in which
she will have increased responsibility
for our business and financi^ afftos,
as well as being an able assistant to
both Julie and me;
I offer my heartiest congratula¬
tions to all for their dedication, hard
work, and well-deserved, promotions.
—WF
is being generous with a coding rate of
50 lines per hour.
As with Magic PC, PPROG has its
limits. It cannot handle all situations
and cases. Data entry, reports, and
forms are somewhat more restricted
compared with the possibilities under
direct PAL control. Menus are limited to
Paradox-style menus. However, the ad¬
vantage of the approach is that a basic
application can be generated quickly
with PPROG and then manually fleshed
out to incorporate more sophisticated
tasks and actions.
The Data Entry Toolkit is a pecu¬
liar but powerful addition to Paradox.
Previously, Paradox allowed the PAL
programmer to display a form and wait
for it to be filled in, returning control
to the program when the programmer
pressed one or more predefined keys.
Now, however, something resembling a
tiny objea-oriented language is built
into the wait facility and allows the
programmer almost keystroke-by¬
keystroke control over the data-entry
process. Although each action to be
taken must be written procedurally, the
set of actions for a given form are con¬
structed in a more declarative style.
DECLARATIVE SPEED
Both Magic PC and PPROG do a lot of
work in relatively short order and
make few demands of developers other
than that they know the basic product
well (this is especially important for
Paradox; novices can work with Magic
PC) and approach the tool with the
application design in hand.
Actually, the latter requirement is
only partly necessary. Both tools sup¬
port the development of an application
in pieces and allow easy modification
of a previously generated application,
so both can be used by those who are
trying to cobble a program together
without any forethought. Obviously, the
productivity advantage diminishes as
the level of hacking increases.
For the developer with a well-
designed application, preferably on
paper, tools like these two result in an
enormous productivity increase. The
developer can avoid a large number of
details, with the side effect of greatly
reducing the opportunity for error.
Development speed and reliability
are the two hallmarks of the declarative
style of programming. What we need
are more tools like Magic PC and
PPROG that are even more sophisti¬
cated and resourceful so that develop¬
ers can crank out applications of
greater complexity and reliabiliry. luiuniiiii^l
10
PC TECH JOURNAL
TRY ORACIE'S $1295 SQl DBMS
FOR ONLY $199 TODAY.
OR ORDER THEIR VAPORWARE.
If you’re looking forward
to OS/2 and the next gen¬
eration of PC database
management systems to
enable you to build larger,
higher-quality PC applica¬
tions, you’ll be interested
to know that:
• Ashton-Tate has announc¬
ed its intention to replace
its outdated database tech¬
nology with a SQL DBMS
under OS/2, and
• IBM has cuinounced its __
intention to offer SQL for
OS/2 in its Extended Edition.
All you have to do is wait. Wait
for OS/2 and SQL. Wait until mid-
1988... or later! Meantime you
keep developing with soon-to-be
obsolete dBASE™ technology.
But you don’t have to wait for
SQL on the PC.
Oracle has it now. And you
don’t have to wait for OS/2 to run
programs larger than 640K. The
ORACLE® DBMS allows you to run
OS/2-size programs under today’s
MS-DOS™
ORACLE is the number-one sell-
Hfear Ashlon-Taterj
20101 Hamilton Avenue I
Torrance, CA 90502
Since you’ve announced your inten- I
tions to go to SQL, I really don’t feel ■
like developing obsolete applications I
in dBASE. 1 have every confidence your I
first attempt will be full-featured and
bug-free. Send me what you’ve got, I
when you get it. |
— H t, - Tin t . . .
y i Irr i«‘’* f
Kiln n-f. . Bn
ORnci.E
OKrtOI.B ?.06^3HC> Mod., Exo.,.,ti
ing DBMS on both minicomputers
and mainframes. If you try PC
ORACLE, we think you’ll make us
number-one on PCs, too. That’s why
we’re making you this special offer.
We’ve sold thousands of copies
of PC ORACLE for $1295. But now,
for a limited time, we will send
you the same, full-function version
of ORACLE for only $199.*
That’s right. Only $199 for a PC
SQL DBMS that is identical to the
ORACLE that runs on minicom¬
puters and mainframes. $199 for
the only PC DBMS that lets you
n>ear IBM, 1
Old Orchard Road I
Armonk, NY 10504
Attached is a blank check. I keep read- I
ing that you’ve already announced ■
that you’re going to announce SQL for I
OS/2 and the Personal System/2. |
When you do, fill in the check amount.
Hope to hear from you sometime in I
the next couple years. |
1 Name
1
1 Name
Title
.. '1
Title
1
1 Company
/ 'T
\ 3
1 Company
■ ‘ »
■ Street
>. '
i ./
■ Street
)
1 City
J f*/'
- -»(r t
z«p [t
mmm mmmm
jj^^^ate
11
11
write larger-than-640K,
OS/2-size programs and
run them under today’s
MS-DOS.
ORACLE makes it easy
to write large, high-
quality applications using
industry-standard SQL.
Applications that run
faster. Applications that
are easier to use and
have more capability.
Multi-user, networked
applications. Applica-
,tions that can be devel¬
oped on MS-DOS today, and then
run unchanged on OS/2, mini¬
computers and mainframes.
So stop writing dead-end dBASE
code today. And stop writing
cramped, limited-to-less-than-640K
applications. Call 1-800-345-DBMS
today. Or use the rightmost
coupon. Or mail one of the other
coupons. And wait.
ORACLE*
COMPATIBILITY » POBTABIUTY » COHWECTABILITY
Call 1-800-345-DBMS today.
--^
I Dear Oracle, ■
I PC ORACLE • Oracle Corporation I
20 Davis Drive • Belmont, CA 94002
I want to run OS/2 ORACLE on MS-DOS today.
I agree to use this license only for application
I development. I understand all prices include ■
applicable taxes and postage. I
Send me (check only one): I
I D PC ORACLE.$199 ■
□ ORACLE + 1MB Extended memory.$599 I
□ ORACLE + 2MB Extended memory.$799 |
I’m paying by □ Check □ VISA □ MC □ AMEX _
I
I
Print Name
Date
Company
Title
1
State Zip J
■ Credit Card Number
1 Card Expiration Date
j^^^^^nature
PCTJ-9 *’^-4
On6OrKleParkway-B«lm<»flt.CA94IK12.W0rldHeaflquartBr»|415)598.8000.fol08rv(4O3m5.2e22-Ott»W3{6t3}238.?3at.Qu«bae(514W5^^^^^^
*PC ORACLE requiras an ”08/2 rfa<ly’'28«/386-bMBd PC runnlBfl DOS 3.1+with 1MB eatMdedmemofY (2MB 1»r«eomm*ntta(l) and* minimum 10MB wrdmikwlvB. ^ tabi
*PCORACLErequirflsan'’OS/2rfady’'28«/386-u«Bwi«i«i....»»—w».. ■ ---------■ . „ ,, t
Copyrlqhl © 1987 by Oracl* Corporallon. ORACLE it a regltlBrBd Uademaric of Oracla Corporallon. Tha other companlei mBOlloned own nomeroBt ragiittred tradoniarlcs. Even tha Vaporware la iraaamarliea.
P/N 202138-002
PS/2’Memory
CXrrNa^
y.'iy V.'- '«'»cs-> -
5 V 1 t ~ t; ? I s t! I ^ I - 1 5h' I ■'. - . I 'J,;■"■"■■'"
W ? . g -=. I' S - 13 a I >•? -!> ! ■?. A S A t S A S 5 . rr* ^oalsz 1 3 X
C, 1 *• ' « . , . - • ; . I „ TI61 • «» w
TAr •' SJ.;,
|BRNK J
I—
l .I- W \ \0 rj
i, S -1, ! S -
H' ^ I ^'Z i - T j
^‘1 ■■ ^
p;. i • » ^ '1..- *
X ■ i.5., \'iS:l it ;it
2t ' .z.-
• ^; ‘ ■
BfiNK 3
,, . /. -n^y •■'■■■■.:
y:l * .
flcIvcintogc/Z’
' ■' ■;■" r’,'^/';'','. aiV- il-' r. r ; ivI^-'pAiviririr. • ;■• i*f:"' -v'^l
M -■ ‘ - ■-i:
Advantage/2 for PS/2 50s and 60s offers up to 8 MB of memory, full Micro
Channel™support and optional I/O capabilities.
i45T atiukets prodact$ worldwide—in Europe cmOzdS I 56S 4350; in the F»r Eust ca/7; 852 0499 9113; in Canada caII: 416 826 7514.
AST and .AST lo^ nsdstcred and AdmntageJ2, Rampa^lZ Srrurrt SiviUh and SuperPak trademarks of.AST Research, fne. IBM registered and
PS12 and Micro Channel trademarks of International Business Machines Cprp. Copyright C 1987AST Research, Inc. All tights reserved.
ft
-IN
EVEN MORE POWER
AND FLEXIBILITY
BRIEF 2.0
Users and industry press alike have
unanimously proclaimed BRIEF as
the best program editor available
today. Now, the best gets better,
with the release of BRIEF 2.0.
Straight from the box, BRIEF offers
an exceptional range of features.
Many users find that BRIEF is the
only editor they’ll ever need, with
features like real, multi-level Undo,
flexible windowing and unlimited
file size. But BRIEF has tremendous
hidden power in its exclusive macro
language. With it, you can turn BRIEF
into your own custom editor con¬
taining the commands and features
you desire. It’s fast and easy.
Jerry Poumelle, columnist for BYTE
magazine summed it all up by saying
BRIEF is, “Recommended. If you
need a general purpose PC program¬
ming editor, look no further." His
point of view has been affirmed by
rave reviews in G JOURNAL,
COMPUTER LANGUAGE, DR.
DOBB’S JOURNAL, DATA BASED
ADVISOR, INFOWORLD AND
PC MAGAZINE.
One user stated “BRIEF is one of
the few pieces of software that I
would dare call a masterpiece.”
Order BRIEF now and find out wlw.
BRIEF 2.0 is just $195. If you already
own BRIEF, call for upgrade
information.
TO ORDER CALL: 1-800-821-2492
(in MA call 617-337-6963)
As always. BRIEF comes with a
30 day money-back satisfaction
guarantee.
^Solution
. brief 2.0 enhancements!
, 0 k at these BBitf ^
Main ,.1,011 wit" languS®
(supports most
BRIEF is a trademark of UnderWare, Inc.
Solution Systems is a trademark of Solution Systems.
CIRCLE NO. 130 ON READER SERVICE CARD
Basic Features:
. F J
• at once
. Edit many Me space
. File size l®'®^ sensitive indenlaticn
. Aolematie langoase
LETTERS
MISSING LINKS
The article “Elegant Linkage” (Richard
Halpern, May 1987, p. 132) on external
subroutines for Turbo Pascal contains a
number of errors in part because it
generally agrees with the Turbo Pascal
manual. This is a big mistake. The man¬
ual frequently differs with what Turbo
Pascal actually does; at least, it does for
all Turbo Pascal versions through 3.01 A.
The following corrections to the Turbo
Pascal manual as well as to the article
in May should be noted.
First, value parameters that are ar¬
rays or records are not passed as VAR
parameters. The full array or record is
copied to the stack just like any other
value parameter. Second, value parame¬
ters that are sets do not require a full
32 bytes on the stack. Instead, Turbo
uses the abbreviated format that it gen¬
erally uses for storing sets. This format
is described in the article’s sidebar,
“Data Representation in Turbo Pascal”
(p. 134). Finally, external functions
should not return a Boolean value by
setting the Z flag because Turbo Pascal
ignores this. Instead they must be re¬
turned in the AX register like any other
scalar (0 = false, 1 = true).
In addition, the article omitted the
following points, which should be
noted by every programmer who
writes external subroutines:
If a value parameter is a string.
Turbo passes a field, the length of
which equals the maximum defined
length for the string. The first byte of
the field contains the current length of
the string and the subroutine should
use only this length.
External procedures and functions
must remove all parameters from the
stack when they return because Turbo
does not clear the stack. If this is not
done, and the external subroutine is
called repeatedly, garbage will be
added to the stack by each iteration
and the program ultimately will abort
with a stack-heap collision error.
The stack is cleared by exiting
with RET n where n equals the total
number of bytes occupied by the
passed parameters. Example one in fig¬
ure 3 (p. 137) should have used a RET
8 (4 bytes for a string of maximum
length 3, 4 bytes for a VAR parameter).
Example three in figure 5 (p. 138)
should have used a RET 6 (2 bytes for
a scalar, 4 bytes for a VAR parameter).
When Turbo Pascal expects a func¬
tion result to be returned in a register,
it pointlessly reserves an area on the
stack for the result. This area must be
removed from the stack along with the
parameters. For example, given the fol¬
lowing definition:
FUNCTION JUNK(R1 : REAL) : Boolean;
EXTERNAL ’SUB.COM’;
the machine code should put the Bool¬
ean result in AX and exit with a RET 7
(6 bytes for a real parameter and 1
byte for the Boolean result). Note that
Turbo Pascal reserves only 1 byte on
the stack for single-byte scalar results.
In addition to being unnecessary, this
is inconsistent with Turbo Pascal’s prac¬
tice of using a word to pass single-byte
scalar parameters.
The three-instruction sequence on
lines 2 through 4 of example one (fig¬
ure 3) in the article is not the most ef¬
ficient way to load registers DS and BX
with the segment and offset of a VAR
parameter. Instead, the single instruc¬
tion LDS BX,[BP+12] should be used.
On the question of saving and re¬
storing registers, the Turbo Pascal man¬
ual is somewhat confused, as Mr. Hal¬
pern points out. The programmer must
save and restore BP, DS, or SS, but
only if his code changes the contents
of the register. To PUSH and POP any
other registers is pointless because
Turbo does not expect their contents to
be preserved. To be sure, CS also must
be preserved, but this happens auto¬
matically when a subroutine is called
and then returns in the standard way.
Mr. Halpern implies that relocat-
ability requirements for an external
subroutine are the same as for a .COM
module. Actually, they are more strin¬
gent for an external subroutine. Be¬
cause a .COM module always will be
loaded by DOS at offset OlOOH, it need
only be capable of running in any seg¬
ment. An external subroutine, however,
will be put at the next available offset
in the code segment when its header is
parsed by Turbo Pascal. This offset is
unpredictable, so the code must be
able to run at any offset. Therefore, a
subroutine, unlike a .COM module,
cannot make references to data at abso¬
lute offsets in the code segment.
Robert Pirko
New York, NY
I stand corrected on the question of
Turbo Pascal manual errors. It may
indeed be a big mistake to agree un-
questioningly with the Turbo manual.
‘Tlegant Linkage'' was yneant to
introduce some basic ideas that would
encourage readers to do further experi¬
mentation on their own. Mr. Pirko's
additions are valuable; however, some
of them require comment.
His first point is incorrect. The
length of the field is the maximum
string length, plus one. In figure 1
(p. 155), this length is shown for the
variable V4, a string of maximum
length six, which occupies the seven
bytes -f 2 through SP + 8. The label¬
ing on the right indicates clearly that
the fust b)’te is the length, but the 6 is
probably a cause of confusion. In my
string exatnples, I used strings with ac¬
tual and maximum lengths that were
the same. In that case, and only that
case, would byte SP -Y 2 contain a 6.
The purpose of the code in exam¬
ple one (figure 3) is to illustrate the
individual steps that are taking place,
not to produce efficient code. As for
saving and restoring registers, Mr.
Pirko is correct. My recommendation
SEPTEMBER 1987
15
LETTERS
to save and restore all registers altered
by the subroutine (an old habit of
7nine) should apply only to the BP, SS,
and DS registers.
—Richard Halpem
FORTRAN FERVOR
Having experimented with Microsoft’s
FORTRAN 4.0 compiler with the sup¬
plied CodeView debugger (see “The
State of FORTRAN,” John Voglewede,
June 1987, p. 92), I can attest that it is
excellent and produces very fast code.
Regrettably, in its current release it has
a serious bug of which users should be
aware; it errs in subtracting a complex
variable from a real constant (but not
from a real variable). For example, if
C = (0,1), then 1 — C yields (1,1)
rather than the correct value (1,-1).
But, (1,0) — C and — C + 1 give correct
results. This bug occurs in both single
and double precision.
Edward Kamel
Massachmetts Institute of Technology
Cambridge, MA
Regarding your review of Microsoft
FORTRAN 4.0, our experience differs
considerably. When attempting to con¬
vert a large program (20,000 lines in
32 subroutines, several overlays) from
MS FORTRAN 3.2 to 4.0, we finally had
to give up in frustration.
We encountered problems with
misstorage of results of calculations
that could be solved only by preceding
them with A = A, A being the variable
to be calculated. Other problems had
to do with the formatted read skipping
blocks of records. Previously, all of this
had worked in version 3-2. We also
could not get a .LST file completed for
some of the subroutines.
Microsoft told us they could not
reproduce our first problem (note, we
did not send Microsoft all of the source
code), and that the file problem would
be fixed at a later date.
Many of these problems no doubt
are the result of working with large
systems, but if bugs are present, when
will tliey occur in smaller systems?
D.J. Meyer
Advanced Managetnent Technologies
Homton, TX
Microsoft is in the process of eliminat¬
ing several known bugs in its FORTRAN
4.0 compiler. A new revision (4.01)
correcting these bugs is expected to be
released shortly. Microsoft will provide
this release at no cost to all FORTRAN
4.0 licensees.
—John Voglewede
Thank you for recommending F77L to
the serious PC FORTRAN programmer,
in addition to recognizing our liberal
license agreement and customer sup¬
port programs. We do have some addi¬
tional comments. The BIGARRAY bug
found by Mr. Voglewede is fixed in ver¬
sion 2.21, which currently is shipping.
The F77L compiler “fixes” itself each
time it is used. This feature allows us
to fix some user-reported problems the
same day the bug is reported, then the
current product is fixed so that new
users will not have tlie problem, all
without waiting for a new release.
These fixes are available to all users
on our bulletin board.
We take strong exception to Mr.
Voglewede saying in the article that our
compiler’s “error-detection capabilities
are only average.” Lahey F77L users
who download mainframe programs
enthusiastically praise our compiler and
runtime diagnostics. They report that
F77L has diagnosed errors that have
existed for several years.
Continued on p. 21
THE ATRON BUGBUSTERS
CRACK DEBUGGING FOR
COMMQ 386s & IBM PS/2-80s
You already have Microsoft’s
CodeView™ And you’ve seen our
ads for the Atron hardware-assisted
software debuggers. Right? The
Atron Biigbustersl Nine of the top
ten PC software developers use our
debugging tools. With our new
MiniProbe™ shortcards, you can
use watchpoints and tracepoints in
real time. On PCs, ATs and, now,
COMPAQ and IBM 80386s.
Without learning new debugging
technology.
device. This solves the most
common debugging problem: Out-
of-range pointers which overwrite
the program code or data. Often,
the overwrite is different after each
new compile of the program.
And if you need a software
debugger which is smaller in size
than CodeView, the Atron source-
level debugger included with each
MiniProbe can also use external
memory for CodeView symbol
table storage.
Only $395 puls
you into world-
class debugging
With real-time watchpoints and
tracepoints, a one-minute program
will run in one minute. Not 50
hours (the difference between
software-only debuggers and
hardware-assisted debuggers is a
3000-to-l increase in efficiency).
And if the program bug you’re
trying to find has anything to do
with interrupt activity, it might
never occur when you’re debugging
with CodeView alone.
But with the Atron MiniProbe,
you can trap events like reading
and writing to memory or an 10
© 1987 by Atron, a division of Northwest Instrument Systems.
So new that yeu don't
hcnre to learn a new
debugger, the only thing
keeping you from
debugging like the pros is
$395. And our phene
number: 408/741-5900.
Call todcqf. Bust bugs, and
records, tomorrow.
THE BUGBUSTERS
20665 Fourth Street • Saratoga, CA 95070
Inc. MiniProbeAtron. CodeView’” Microsoft. TRBA
CIRCLE NO. 249 ON READER SERVICE CARD
16
PC TECH JOURNAL
&)eed
Fast Execution Speed.
Microsoft® C 4.0 Microsoft C 5.0
Sieve (25 iterations) 5.7 3.3
Loop 11.0 0.0*
Float 19.9 0.1
Dh^tone 22.8 19.1
Pointer 14.2 7.4
New optimizations generate the fastest code:
—Inline code generation. NEW!
—Loop optimizations: NEW!
—Loop invariant expression removal. NEW!
—Automatic register allocation of variables. NEW!
—Elimination of common sub expressions.
—Improved constant folding and value propagation.
Fine tune your programs for even greater sp^:
—(Coding techmques for writing the fastest possible
programs are included in the documentation. NEW!
—Segment Allocation Control:
—Group ftmctions into the same segment to get faster
NEAR calls. NEW!
—Specify' which segments receive variables to yield
faster NEAR references. NEW!
—Uses register variable declarations.
—Mix memory models using NEAR, FAR & HUGE
pointers.
Bencfimarks run on an IBM* Personal Systcm/2r' *Time is negligible.
Fast Compilation.
Fast Prototyping.
Microsoft C Version 5.0 includes Quicker which
lets you edit, compile, debug, and execute in an
integrated environment. It’s ideal for prototyping.
• In-memoiy compilation at over 10,000 lines/
minute. NEW!
• Built-in editor with parentheses, bracket and
brace matching.
• Use the integrated debugger to animate through
your program, add watch variables and set
dynamic breakpoints. NEW!
• MAKE file is automatically generated for you.
Simply indicate the modules you want to use,
then MAKE recompiles and links only those
modules that have changed. NEW!
• Full C 5.0 compatibility:
—Completely source and object code compatible.
—Emits CodeView®-supported executables.
—Identical compile/link command line switches.
And speed.
Fast Debugging.
Microsoft C Version 5.0 includes Microsoft CodeView,
our source-level windowing debugger that lets you debug
more quickly and thoroughly than ever before.
• Debug larger programs:
—Debug through overlays created by the
Microsoft overlay linker. NEW!
—Expanded Memory Specification (EMS)
support NEW!
• Fast debugging through precise control of your
program execution:
—Access source level and symbolic debug information
firom your Microsoft C, FORTRAN, and Macro
Assernbler programs. NEW!
—View your source code and assembly simultaneously.
—Watch the value of variables change as you execute.
—Set conditional breakpoints.
—Animate or single step through your program.
• CodeView brings you as close as you’ve ever been
to your hardware:
—Swap between your code and output screens.
—Watch your registers and flags change as your
program executes.
C 5.0 will be available soon. If you purchase Microsoft C 4.0 after June 1,1987,
we’U give you a C 5.0 upgrade. Free. For your fi'ee information packet, call:
( 800 ) 426 - 9400 .
Microsoft, the Microsoft logo and CodeView are registered trademarks and QuickC is a trademark of Microsoft Corporation. 0587 Part No. 098-048-615
IBM is a registered trademark and Personal System/2 is a trademark of International Business Machines Corporation.
LETTERS
For BIGERROR, I claim that all er¬
rors were reported. F77L accepts 31-
character names and ignores blanks, so
PROGRAM WITH LARGE ERRORS and
REAL MATRIX SUM are correct. Mini¬
mally, 31-character names affect diag¬
nosing BIGERROR lines 1, 4, 5, and 7.
Our approach with F77L is precisely in
keeping with the current draft of the
FORTRAN-Sx standard, which accepts
names as long as 31-characters.
Finally, I would note that your arti¬
cle takes an approach that distinguishes
it from the typical review offering only
benchmark testing. LCS applauds PG
Tech Journal for this policy.
Thomas M. Lahey, president
Lahey Computer Systems, Inc.
Incline Village, NV
During the past year and one-half, I
have been porting (from the DEC VAX
environment to the IBM PC family),
maintaining, and modifying an 18,000-
line FORTRAN program. I decided to
use Lahey’s F77L compiler for this ef¬
fort because Microsoft FORTRAN 3.x
would not handle all the features that
were used in the program. Recently, I
received a copy of Microsoft FORTRAN
4.0, and it was able to compile the pro¬
gram after a few minor revisions.
The Microsoft object and execut¬
able code was substantially larger than
for Lahey’s F77L. The program needs as
much data space as possible. It is orga¬
nized into overlays as is (Plink86 is
used for linking). The compile time for
Lahey’s F77L 2.2 was about IV 2 hours;
Microsoft FORTRAN 4.0 took about 4V4
hours. Program execution speed was
nearly identical for both.
Two things not mentioned in the
article seem very important to me.
First, the Lahey debugging package,
SOLD, requires only about 20KB versus
Microsoft CodeView’s 200KB (which
leaves me no data space). Second,
Lahey’s SOLD will find its way through
overlays (I have used it to do this),
whereas Microsoft has said that Code¬
View cannot be used with overlays.
Ronald E. Johnson
Northern Valley Software
Rancho Palos Verdes, CA
I have been using Lahey’s F77L since
the release of version 1.0 to develop a
large, number-crunching system, but
your article peaked my interest in the
Microsoft compiler because your
benchmark tests show the MS compiler
comparing favorably with Lahey’s. I
conducted some extensive tests be¬
tween the two using a commercial
product tliat runs under MS FORTRAN
3 . 3 . From start to finish, there is no
question—in the workplace, Lahey’s
F77L beats Microsoft hands down.
Mark S. Geyper, Ph.D., president
M. S. Gerber & Associates, Inc.
Columbus, OH
In response to Mr. Lahey), the “average”
error-detection capability) attributed to
the Lahey) F77L was based on this com¬
piler's performance relative to other
FORTRAN compilers. The Lahey) product
did not detect syntax errors identified
by) others. F77L also failed to indicate
that a compiler limit was exceeded
during the compilation process.
While it is correct that blanks gen¬
erally may be ignored in FORTRAN,
Section 2.2 of the FORTRAN-77 stan¬
dard limits the length of symbolic
names to six characters or less. Pro¬
posed revisiom to this standard not¬
withstanding, the lines in question
should have been identified as contain¬
ing syntax errors or extensions to the
standard. (Also note that Lahey) Com¬
puter Systems has informed PC Tech
Journal that an overlay linker and li¬
brary file manager are available for
use with F77L, as separate purchases.)
PHOTON
THE
FA^TF^T
MOST POWERFUL
& AFFORDABLE
SOLUTION FOR A
MULTISYNC CAD
WORKSTATION.
$155 1
PHOTON MAXER i
□
Maximize your EGA
□
Easily upgrades any regular EGA board
from 640x350 to 800x512x16 color sharp,
Non-Interlaced display.
□
Easily upgrades any regular EGA board
from 640x350 to 720x540x16 color.
□
Upgrades any regular EGA board to new
640x480x16 color IBM VGA standard.
□
Connects to feature connector of any
256k EGA board like, VEGA Delux,
QuadSync, Paradise, Tecmar, BOCA ar
most other generic EGA boards.
□
Does not take any SLOT.
□
Includes drivers far AutoCAD, XEROX
Ventura Publisher, GEM, WINDOWS,
VersaCAD, CADVANCE,-.
□
Automatically switches from High
resolution to normal EGA and vice versa.
□
Requires NEC/SONY or any other
compatible Multisync monitor
□
1 year warranty.
TO GET MORE
INFORMATION CALL:
PCG AT 213-216-0055
OR
800-255-9893,
FOR THE NAME OF THE
PHOTON DEALER
NEAR YOU.
The Ultimate in Graphics Technology
5819 Uplander Way, Culver City, Calif. 90230
Tel. (213) 216-0055 FAX (213) 216-4931
..
PHOTON MEGA
□
The ultimate EGA card.
□
800x600x16 color sharp, bright Non-
Interlaced display.
□
640x480x16 color (VGA mode) Non-
Interlaced display.
□
16 colors from a palette of 64.
p
□
Built In EGA CGA MDA and Hercules
ii
compatible mode ensures compatibility
|i
Ith any software.
1
□
Display list processing from extended
memory optloa
□
Single short slot board.
□
One monitor system.
□
Analog option to work with most 15‘-19’
Anolog Monitors.
□
Recommended with NEC/SONY or any
0
other Multisync.
&
□
1 year warranty.
1
kspi
AUTOCAD
I VERSACAD
■ CADVANCE
■ DATACAD
m MEGACADD
■ CCADD
- m PCAD
Personal Computer
Graphics Corporation
$895
PHOTON 800
g
□
Professional CAD guallfy.
1
□
800x600x16 color sharp, bright Non-
Interlaced display.
1
□
1024x1024x16 color virtual drawing
memory.
1
□
Real Instant HARDWARE SCROLL, PAN AND
■
ZOOM.
□
Display list processing from extended
memory option.
□
Fast 18 million pixels/second drawing
speed.
□
Single slot board.
□
Cursor Zoom 2x2 or 3x3.
□
One or two monitor system.
□
Can co-exIst with any PGA EGA CGA
MDA adapter for one monitor system
option.
□
Recommended with NEC/SONY or ony
other Multisync.
□
1 year warranty.
GENERIC CAD _-^
PRODESIGN II
DYNAPERSPECTIVE
XEROX VENTURA PUBLISHER
ALDUS PAGE MAKER
m WINDOWS
■ GEM
□ 1024x768x16 color sharp, birght Noth
Interlaced display.
□ 960x720x16 color sharp, beautiful Non-
Interlaced display.
□ 1200x900x16 color vltual drawing
memory.
□ Instant Dynamic Scroll, Pan and Zoom.
□ Display list processing from extended
memory option.
□ Fast 28 million pixels/second drawing
speed.
□ Single slot board.
D One or two monitor system.
D Can co-exIst with any EGA, PGA adapter
to provide one monitor system option.
D Recommended with NEW NEC Multlsyncs:
15' NEC Multisync Plus (960x720)
19' NEC Multisync XL (1024x768)
D 1 year warranty.
Circle Reader Service No. 226 for End-User, No. 227 for Re-seller.
21
main() {printf(“An investment in High C is one weii made./n”);}
LETTERS
Mr. Johnson is correct—the docu¬
mentation supplied with Microsojt
CodeView confirms that programs
using overlays cannot be debugged.
—John Voglewede
“FORTRAN Perspectives” contains a
misleading comparison of the accuracy
of computations under the FORTRAN
compilers that were being reviewed.
PERFORM.F77, listed on page 110, and
the accompanying expository descrip¬
tion of the accuracy tests show that the
figures returned bear no relation to the
accuracy of computation.
I will illustrate the point with a
simple example. Suppose that all com¬
putations carried out in the main loop
of PERFORM.F77 are exact except one
(a highly unlikely situation), and that
the error returned for that one compu¬
tation is, in terms of the program varia¬
bles, C = 1.0. This might occur, for
example, for the case A = 10,000, when
computations are in single precision
(such an error for this argument still
would mean that about four of the
available seven decimal places were
correct in the computation of C). Then
suppose D = 1.0 also. But the error sta¬
tistic, the base-10 logarithm of D, is 0.
If this result were included in figure 1
of the article, it would be recorded as
0 decimal digits of precision, a grossly
incorrect interpretation.
Many other deficiencies can be
noted: a rounding error for the case
A = 10,000 contributing 100 million
times as much to D as a rounding
error for the case A = 1, accumulating
the sum of squares of absolute errors
instead of reporting the root mean
square of the relative error, confusing
mathematical exactness with computa¬
tional exactness, and so on. But the
point has been made. This benchmark
is worthless in my opinion. If I were a
manufacturer whose product had per¬
formed badly in your tests, I would be
most unhappy. To publish such results
is a disservice to your readers and to
the manufacturers.
V/illiam J. Cody, Jr.
Glen Ellyn, IL
As pointed out by Mr. Cody, the results
of the PERFORM.F77 program are ac¬
cumulated calculational errors and do
not represent the intrinsic precision of
the compiler tested. Figure 1 was in¬
tended to demonstrate the relative
trade-ojfs between speed and accuracy,
and the differences between compilers
using different options. The confusion
between the accumulated error re¬
ported in this figure and the intrinsic
precision of the compiler itself could be
eliminated by Mr. Cody's suggestion
(that the root mean square of the rela¬
tive error be used rather than the sum
of squares of the absolute errors). How¬
ever, the relative comparisons of speed
and accuracy shown in the figure re¬
main valid regardless of whether this
particular change is incorporated.
—John Voglewede
PC Tech Journal would like to note
additional corrections to “FORTRAN
Perspectives." In describing figure 1 on
page 94, column 3, the last sentence of
the first full paragraph should read.
“The precision of the result is simply the
negative of the base-10 logarithm of the
total accumulated error. ”
Table 2 (p. 97) should show that
Microsoft does not support in-line com¬
ments in its source code format and
that Lahey's F77L CHARACTER length is
reduced to 32,768. In table 3 (p- 98),
the entire row of yesino indicators for
runtime distribution under License
Agreement should be reversed to show
that the DRI, Ellis, Lahey, and Microsojt
compilers support it, while Prospero
and Ryan-McFarland do not
—JS
FORTRAN FERVOR, CONTINUED
Thank you for the command-line pro¬
cessor in “Command-Line Arguments
for FORTRAN,” (Programming Practices,
John W. Ross, May 1987, p. 190). How¬
ever, there appear to be two typo¬
graphical errors in COMLINASM on
page 193. The correa values for the
program prefix address should be
psp_seg equ OOOOH
;program segment prefix segment
psp_seg equ 4F2H
;program segment prefix oflfeet
After I made this correction, the pro¬
gram performed flawlessly with the
Microsoft FORTRAN compiler 4.0.
Werner Wothke, Ph.D.
Northwestern University
Evanston, IL
Although the address that is given by
Dr. Wothke for the PSP is correct, the
listing has no typographical error.
There is no unique way of writing an
: • 80x86 • 680x0 • VAX • RT PC • 370 • 320xx • 80x86 • 680x0 • VAX • RT PC • 370 • 320xx • 80x86 • 680x0 • VAX • RT PC • 370 • 320xx • 80x86 * 370 •
MS-DOS We were first with compilers for Intel 80386 protected mode —since November, 1986. And we have been technology
leaders on the Intel 8088~286senessme 1983, adding 80386 real mode support in 1986. Joln thO tig loegUOS: Ansa/Pm(iox,Ashton-
Tate^iBase III Plus, AotodesA/AutoCAD, /./fetree/Volkswriter, foxSo#wari^oxbase(386), Symantec/Q&A, Wew/og/tyWorkview&Viewsim,...; they rave
about our COdO QUellty and tOChnlCel support. Ourfloating-point support includes 8087-287-387, Woltek 1167, and
emulation. Equivalent compilers support OthOr OSS on Intel chips: OS/2; FlexOS 286,386; OS/286,386; PC-MOS (386); DOSlExtender, and X-
AM (VM/RUN). Likewise, the same OUtStendlng compilers are also available on:
UNIX — Intel 80286,80386; MC 680x0: Sun, Apollo, others; DEC VAX; IBM RT PC, 370; NS 32032; and
Other OSs — DEC VAX VMS, and soon IBM CMS and Atari/GEM-DOS. (UNIX refs: Boeing C.S., CASE Tech., IBM, MIT,...)
llsia
UJara™
INCORPORATED
CALL: (408) 429-6382
Telex: 493-0879 (META Ul); 903 Pacific Avenue, Suite 201
Santa Cruz, CA 95060
Ttie Olest OMoe fer Large Pregramming Praiaata. -pcTechjoumai
* • MS-DOS • OS/2 • UNIX 4.x, V.x • RexOS • OS/x86 • PC-MOS • DOS|Extender • X-AM • VM/RUN • GEM-DOS • VMS • CMS • MS-DOS • OS/2 • UNIX •
CIRCLE NO. 259 ON READER SERVICE CARD
22
PC TECH JOURNAL
Writeln(”An investment In Professional Pascal is one well made.'*);
MICROSOFT LANGUAGES NEWSLETTER VOL. 2, NO. 9
News about the Microsoft Language Family
Microsoft® Macro Assembler
Version 5.0
Microsoft Macro Assembler
Version 5.0 has a host of
exciting new features that
make assembly language
programming easier and
more powerful than ever!
Microsoft Macro Assembler
Version 5.0 now includes the
Microsoft CodeView® window-
oriented debugger and can
assemble instructions written
for the Intel® 80386 CPU. Comprehensive
documentation and example programs help
you write assembly code subroutines that can
be called from other Microsoft languages such
as C, BASIC, FORTRAN, and Pascal. Microsoft
Macro Assembler Version 5.0 also assembles
your programs 25-40% faster than Version 4.0.
Now it’s easy to write assembly language
subroutines for high-level language programs
If you have always wanted to write fast
assembly language subroutines to make your
programs fly, now is the time to try Microsoft
Macro Assembler Version 5.0. Version 5.0
comes with a completely new Mixed-Language
Programming Guide, which describes in clear,
step-by-step language how to write, assemble,
and link an assembly language subroutine
with your Microsoft BASIC, C, FORTRAN, or
Pascal programs. The examples from this man¬
ual are provided on disk so you can use them
as templates, filling in your own code and
leaving the prologue and epilogue instructions
that make the interface function correctly.
Now Microsoft Macro Assembler Version 5.0
makes segmentation easy. Our new “simplified
segmentation” directives are short, straight¬
forward, and intuitive; To declare the correct
model for your subroutine,
just use the .MODEL
directive and choose the
model you need: SMALL,
MEDIUM, COMPACT,
LARGE, or HUGE. To start
your data segment, just add
a .DATA directive; to set
your stack, add a .STACK
directive; and to begin
writing instructions, use the
.CODE directive.
Microsoft Macro Assembler
now includes the CodeView
source-level debugger
CodeView, Microsoft’s
famous debugger for its C
and FORTRAN languages,
now comes to the world of
assembly language program¬
ming. Source-level debugging
allows you to view your program just as you
wrote it, including the comments and spacing
that are especially important in helping you
follow your program’s execution. You can
access variables by name, even if they aren’t
declared public, and see constants as names
instead of as anonymous numbers.
Write programs for the 80386
Microsoft Macro Assembler Version 5.0 can
assemble the new instructions available with
the powerful 80386 CPU and the 80387 math
coprocessor, as well as 80286 instructions that
have been enhanced to work with 32-bit
registers. You can also use the new 32-bit
wide registers to write faster programs than
ever by using such operations as 32-bit
add and subtract and 32-bit multiply and
divide without using multiple registers. For
more powerful data access Microsoft Macro
Assembler Version 5.0 allows you to choose
any 32-bit register for indirect memoiy access,
to use “scaling” for easy array access, and to
move 32 bits of data directly from memory
into a register and back.
For more information on the products and
features discussed in the Newsletter, write to;
Microsoft Languages Newsletter, 16011 NE
36th’Way, Box 97017,
Redmond,’WA 98073-9717.
Or phone: (800) 426-9400.
In Washin^on State and
Alaska, call (206) 882-8088.
In Canada, call (416)
673-7638.
Microsoft, the Microsoft logo and CodeView are
registered trademarks of Microsoft Corporation.
Intel is a registered trademark of Intel Corporation.
K/Kaosott
Microsoft Macro Assembler’s CodeView at Work.
Latest DOS Versions:
Microsoft C Compiler
4.00
Microsoft COBOL
2.20
Microsoft FORTRAN
4.01
Microsoft Macro Assembler
5.00
Microsoft Pascal
3.32
Microsoft QuickBASIC
3.00
la)ok for the Microsoft Languages Newsletter every month in this publication.
LETTERS
same price: $ 139 . 00 .
The MKS Toolkit, site-licensed to major corporations, is designed for IBM PCs, XTs, ATs,
and compatibles running under MS-DOS (or PC-DOS) 2.0 and later releases. It contains more
than 110 software tools accompanied by over 380 pages of clear, concise documentation,
including a tutorial guide. The MKS Toolkit runs under DOS and coexists with your favorite
applications — no disruptions.
New Features in Version 2.2:
VI/EX — this full-screen editor, already completely UNIX compatible, now handles the
various national character sets (French, German, Spanish, etc.) provided with DOS, as well as
8-bit data and improved support for EGA and colour attributes.
KORN SHELL — a programming language in itself, it now has vl and emacs command¬
line editing mode, improved handling of terminate-stay-resident programs, and subscripted
arrays.
AWK — implements on DOS the latest Bell Labs internal specifications under System V,
release 3, with multiple subscripts allowed in arrays and improved ability to run very large
programs, making awk an excellent fourth generation language that non-programmers will
find readily accessible.
/ETC/INIT, LOGIN, PASSWD, WHO — facilitates multiple users of the same
machine, or multiple application environments.
PR — formats files for printing or screen display, with options for multiple columns, line
folding, tab expansion/compression, titles, line spacing, etc.
CRYPT — provides file encryption with the choice of either the UNIX-compatible Enigma
rotor machine algorithm or the National Bureau of Standards Data Encryption Standard
(DES) algorithm.
PACK, UNPACK, PCAT — allows data compression on UNIX or DOS files using the
Huffman encoding standard.
The MKS Toolkit contains all these programs for $139:
alias
awk
banner
basename
break
c
cal
case
cat
cd
chmod
emp
comm
continue
cp
cpio
crypt
ctags
cut
date
dd
deroff
dev
df
diff
dimame
du
echo
ed
egrep
env
eval
exit
expand
expr
fc
ig
fgrep
file
find
fmt
fold
for
getopt
gres
head
help
if
init
join
kill
Ic
let
line
login
Is
mkdir
more
mv
nm
od
pack
passwd
paste
peat
pr
print
prof
ps
pwd
read
readonly
return
rev
rm
rmdir
sed
select
set
sh
shift
size
sleep
sort
split
strings
strip
sum
switch
tail
tee
test
time
times
touch
tr
trap
typeset
whence
unalias
which
uname
while
unexpand
who
uniq
unpack
unset
unstrip
until
vi
wc
Now available separately:
$75 each
Mortice Kern Systems Inc.,
43 Bridgeport Road East, Waterloo, Ontario, Canada, N2J 2J4 ( 519 ) 884-2251
uucp: {allegra, deevax, ihnp4}!watmath!niks!toolkit
Prices quoted in US funds. VISA, MASTERCARD, American Express, and purchase orders are accepted. Orders also
accepted via uucp. Customer support is available during business hours via telephone or uucp mail. Updates to existing
licenses are available for $45.00. MKS and the MKS Toolkit are registered trademarks of Mortice Kern Systems Inc.
UNIX is a trademark of AT&T Bell Labs. MS-DOS and PC-DOS are trademarks of Microsoft Corp.
8086 address in segment:ojfset format.
His address, 0000:04F2, and the ad¬
dress published, 004F:0002, in fact,
refer to the same location in memory.
—fohn W. Ross
In addition to Dr. Wothke's letter, several
others were received that suggested wor¬
thy methods of retrieving command-line
arguments in FORTRAN. The letters that
follow are representative.
-JS
As Mr. Ross notes in his article, it is
sometimes important to be able to re¬
trieve command-line arguments from
within a FORTRAN program—even
though many PC-based FORTRAN com¬
pilers do not directly support such an
activity. Occasionally, it is also useful to
be able to read the DOS environment
areas, which also may be accessed
through the PSP.
Some FORTRAN compilers (nota¬
bly, Lahey’s F77L) provide FORTRAN
functions to read these areas. Other
major compilers (Ryan-McFarland and
Microsoft, for example) do not. We
have been using both RM FORTRAN
and MS FORTRAN to port large statisti¬
cal systems from mainframes to PCs.
We had to overcome the same problem
that Mr. Ross faced. I think we ended
up with a simpler solution.
DOS 3.x includes an interrupt
(62H, get PSP address) that retrieves
the PSP address from any point in a
program. All DOS versions from 2.0 on
have an undocumented DOS interrupt
(51H) that achieves the same result (it
appears to work in a manner identical
to the fully documented 62H version).
The use of these interrupts obviates the
necessity of Mr. Ross’s “header” pro¬
gram, and greatly simplifies the pro¬
duction and linkage of the routines in¬
volved. Obviously, one is running some
risk with versions of DOS earlier than
3.0, as the interrupt is undocumented
and may change. For the time being,
however, it works.
Brent C. faynes, M.D.
Intermountain Health Care, Inc.
Salt Lake City, UT
Microsoft FORTRAN does have a lim¬
ited built-in capacity to use command¬
line arguments. If you want to pass file
names through the argument list, they
can be opened by leaving the file name
blank on the OPEN statement, that is,
OPEN(l,FILE = ’ ’) to open a file to
unit 1. The first OPEN references the
first argument, the second OPEN refer¬
ences the second argument, and so on.
24
CIRCLE NO. 174 ON READER SERVICE CARD
PC TECH JOURNAL
*More*Magic
fromBMse.
Tiiri)o C TOOLS
,r
XylN .P<:
^ uOC
★ oi''
iff-
BLAISE
N U
¥
4
Magic is easy with Turbo C TOOLS
in your bag of tricks. New Turbo C
TOOLS™ from Blaise Computing is a
library of compiled C functions that
allows you full control over the com¬
puter, the video environment, and the
file system, and gives you the jump on
building programs with Borland’s new
C compiler. Now you can concentrate
on the creative parts of your programs.
The library comes with well-docu¬
mented source code so that you can
study, emulate, or adapt it to your speci¬
fic needs. Blaise Computing’s attention
to detail, like the use of function proto¬
typing, cleanly organized header files,
and a comprehensive, fully-indexed
manual, makes Turbo C
TOOLS the choice for
experienced
software
developers as well as newcomers totH.
Turbo C TOOLS provides the sophisM-
cated, bullet-proof capabilities needed
in today’s programming environment^
including removable windows, “side-^
kickable” applications, and general
interrupt service routines written in C. ,
The functions contained in Turbo C
TOOLS are carefully crafted to supple¬
ment Turbo C, exploiting its strengths
without duplicating its library functions.
As a result you’ll get functions written
predominantly in C, that isolate hard¬
ware independence, and are small and
easy to use.
Turbo C TOOLS embodies the full spectrum
of general purpose utility functions that are
critical to today’s applications. Some of the
features in Turbo C TOOLS are:
Turbo C
TOOLS
supports
the Borland
Turbo C com¬
piler, requires
DOS 2.00 or
later and is just
$129.00
♦ WINDOWS that are stackable and remov¬
able, that have optional borders and a cursor
memory, and that can accept user input.
♦ INTERRUPT SERVICE ROUTINE sup
port for truly flexible, robust and polite
applications. We show you how to capture
DOS critical errors and keystrokes.
♦ INTERVENTION CODE lets you devel-
^ op memory resident applications that can
take full advantage of DOS capabilities.
With simple function calls, you can schedule
a Turbo C function to execute either when
a “hot key” is pressed or at a specified time.
★ ♦RESIDENT SOFTWARE SUPPORT lets
you create, detect, and remove resident util-
4t.ies that you write with Turbo C TOOLS.
♦ FAST DIRECT VIDEO ACCESS for
efficiency, and support for all monitors
including EGA 43-line mode.
♦ DIRECTORY AND FILE HANDLING
support let you take advantage of the DOS
file structure, including volume labels and
directory structure.
In addition to Turbo C TOOLS, Blaise
Computing Inc. has a full line of sup- i
port products for Microsoft, Lattice ‘ V*'
and Datalight C, Microsoft Pascal ^ ^ ^
and Turbo Pascal. Call
‘ ^.^€&LS'PLtJSiW.95
Screer^^d windo^nanagement including
- EGA siupport; DOS memory control; ISRs;
scheduled intervention code; and much more.
For Turbo Pascal.
Turl^ POWtlR SCRPEN
COMING SOON! General screen manage¬
ment; paint screens; block mode data entry
or field-by-field control with instant screen
access. For Turbo Pascal.
. $ 99,95
Interrupt driven support for the COM ports.
I/O buffers up to 64K; XON/XOFF; up to
9600 baud; modem and XMODEM control.
For Turbo Pascal. . -
PASCi^TppESi^T<|&tS' 2 $ 175 . 00 .
Expanded string and screen handling; graph¬
ics routines; memory management; general
program control; DOS file support and more.:
; For MS-PascaLo^l , : *
X.T0€&'.S;ELU.S> $ 175.00
Windows; ISRs; screen handling; multiple
monitors; EGA 43-line text mode; direct
screen access; DOS file handling and more.
For MS and Lattice C version 3.00 and later.
TI^Ut’TpDDS.'- . $ 99.95
-. Windows; ISRs; EGA 434ine text mode;
• direct screen access; DOS file handling and
more. For the Datalight C compiler.
' $ 175.00
■ Full featured interrupt driven support for the
.COM ports. I/O buffers up to 64K; XON/
' ■ XOFF; up to 9600 baud; modem control and
,. XMODEM. For Q or MS-Pascal.
VIE-W5UAT^«^ $ 275.00
General screen control; paint screens; block
" C mode daUi entry or field-by-field control with
instant screen; access. For C or MS-Pascal.
-'RUNOFF : ■ $ 49,95
: Text formatter for all programmers; flexible
' printer control; liser-defihed variables; index
^ generation; general macro facility. Crafted
' in Turbo Pa.scal; . ■ ^ '
today for details, and
make magic!
NEW VERSION! Program chaining execu-
' tive. Chain one program from another in dif¬
ferent languages; specify common data areas;
less than 2K of overhead.
lUPSsVi'PP'"®'
BLAISE COMPUTING INC.
2560 Ninth Street, Suite 316 Berkeley, CA 94710 (415) 540-544!
CIRCLE NO. 102 ON READER SERVICE CARD
I tAatne
\ ^ddtess••
L-——
Turbo C is a trademark of
Borland International
easyflow
An on-screen flowchart processor that knows about flowcharts - not just
Al another "screen draw" program that makes you do most of the work.
EasyFlowIs a (Mwerfu! full-screen graphics program dedicated to flowcharts
and organization charts. With it you can quickly compose charts. More
important, you can easily modify charts so they are always up to date.
► Automatic: Fully automatic text centering within shapes, both horizontally and
vertically. Fully automatic line routing & re-routing.
>■ Fast: Written in assembly language for speed.
^ Large: Charts up to 417 columns wide by 225 lines high. Chart too large for your
printer? £4sr/iow automatically breaks the chart up & prints it in page size pieces.
^ Stamterd: All standard flowcharting shapes included. Custom shapes can be ordered.
► User friendly: Don’t take our word for it. PC Magazine* says "EasyFlow lives
up to its name. It’s hard to imagine any easier and more flexible way to produce
basic and even complex flowcharts”.
>■ Mouse: Optional but fully supported.
► It prints: On most popular matrix printers including IBM, Epson, Toshiba, HP
LaserJet, LaserJet-Plus and many others.
► It plots: On HP7440, 7475, 7550, 7570, 7585B and compatible plotters.
► It works: We are contractually prevented from mentioning the name of the “big
eight” accounting firm that purchased a world-wide site license, but we can tell
you that they spent months evaluating all available flowcharting packages before
choosing EasyFlow.
Rush delivery: Order by noon today (eastern time) and we’ll have it to you by
courier tomorrow**. Rush delivery charge is $15.00 (instead of $2.00) and is
available only in USA & Canada.
>■ Documented: 100 page manual plus over 150 screens of context sensitive help.
EASYFLOwmrks on IBM PC’s, IBM PS/2 and compatibles. Requires 384 K memory,
DOS 2.0 or higher and an IBM CG/\/EG/WGA or Hercules monochrome compatible
adapter card.
Order direct for only $149.95 -i- $2.00 S&H (USA/Canada), $10.00 (foreign). Payment
by M.O., cheque, VISA, Mastercard or Company PO.
* March 10, 1987 issue, page 278.
** Rush orders are shipped by Purolator Courier and normally arrive the next business day to most locations.
Remote destinations take longer. •
Mallroom
sends to
central files
by 9am
File found?
Central filesJ
complete
y “Lost Order"
\ form
Log Complaint
In addition tp logging
the complaint* the search
unit copies the complaint
for managers as uell*
The chart fragment above was produced on an HP LaserJet-Plus and is actual size and
unretouched. Publication quality charts like this can be produced using only minutes of preparation
time antf seconds of print time.
HavenTree Software Limited
PO Box 1093-N
Thousand Island Park, NY 13692
Order Desk: 1-800-267-0668
Information: (613) 544-6036 ext 48
Telefax(G3): (613)544-9632
LETTERS _
The file names can be retrieved by the
program using the INQUIRE statement.
Microsoft FORTRAN 4.0 requires
assembly language subroutines to save
the DI and SI registers, which was not
required in previous versions. This will
require a minor modification in the
COMUNASM program (as well as most
other assembly language subroutine
written for previous FORTRAN ver¬
sions). I missed the blank file name
trick several times before I found it in
the manuals. Now I use it frequently.
James A Parsly
Knoxville, TN
PREMIUM FOOTNOTES
In subsequent testing of the AST Pre¬
mium/286 reviewed in the June 1987
issue (see “Compatibility and Perfor¬
mance: Premium/286, Steven Armbrust
and Ted Forgeron, p. 74), it was discov¬
ered that the IBM Token-Ring Adapter
will not operate when used with the
IBM TOKREUI.COM driver supplied
with the adapter. As of April 2, IBM has
replaced TOKREUI with the LAN Sup¬
port Program, which does function cor-
recdy on the Premium.
Incompatibility problems of this
type on the Premium also can be
solved by removing jumper E2 on the
AST FastRAM board; this adds a wait
state to memory accesses. However,
adding a wait state by removing this
jumper will negate much of the Premi¬
um’s performance advantage. The
jumper is documented in the revision
B manual (the revision letter is located
on the bottom left-hand comer of the
manual’s back cover).
—DM
ERRAT4
In the “Graphics Intelligence” article
(Ed McNiemey, July 1987, p. 46), fig¬
ures 4 and 5 are switched.
COMMENT AT WILL
All letters to the editor should be
directed to Editor, PC Tech Journal,
Suite 800, 10480 Litde Patuxent Park¬
way, Cqlumbia, MD 21044. Corre¬
spondence also can be submitted
over MCI Mail to PCTECH.
Although PC Tech Journal can¬
not publish all letters received,
every effort is made to answer as
many as possible. Please keep letters
brief and to the point, and include
name, mailing address, and tele¬
phone number; when a letter is
lengthy, a diskette is appreciated.
26
CIRCLE NO. 113 ON READER SERVICE CARD
PC TECH JOURNAL
WINDOWS FOR DATA'
The first c^oKe
of professional
C programmers
“Windows for Data is the best
programming tool IVc ever used.
Ifs the most flexible Fve seen.
Whenever Fve wanted to do something,
Fve been able to find a way.”
Professionals choose our tools because
they are designed, crafted, and supported
for professionals. Here at Vermont Creative
Software, we understand that performance
and pleasure in programming derive
from more than a long list of functions.
Windows for Data provides:
PROFESSIONAL FLEXIBILITY:
Our customers repeatedly tell us how
thej/ve used WFD in ways we never imagin¬
ed - but which we anticipated by designing
WFD for unprecedented adaptability. Vir¬
tually every capability and feature can be
modified to meet special needs. You will be
amazed at what you can do with WFD.
PROFESSIONAL PERFORMANCE:
Screen output is crisp and fast. Windows,
menus, and data-entry forms snap up and
down from the screen. WFD is built upon
and includes Windows for C, the win¬
dowing system rated in speed and
overall quality in PC Tech Journal (William
Hunt, July 1985).
PROFESSIONAL RELIABILITY:
An unreliable tool is worse than no tool at
2 dl. VeS products are known in the industry
for their exceptional reliability. Ask anyone
who owns one
PROFESSIONAL DOCUMENTA¬
TION: Over 600 pages of documentation
provide step-by-step explanations for each
major application, a reference page for each
function, listings of functions alphabetical¬
ly and by usage, and a fully cross-referenced
Steven Weiss,
Stratford Systems
index. Extensive tutorials and demonstra¬
tion programs assist learning.
PROFESSIONAL TECHNICAL
SUPPORT: The same expert program¬
mers that develop our products provide
prompt, knowledgeable technical support.
PROFESSIONAL PORTABILITY:
High-performance versions of VCS
products are available for XENIX,
UNIX, and VMS, as well as DOS. No
royalties on end-user applications.
OUR CHALLENGE AND
GUARANTEE
If you have an application where no
other tool can do the job, try Windows
for Data. If it doesn’t help you solve
your problem, RETURN FOR A FULL
REFUND. YOU MUST BE SATISFIED.
Ask for FREE DEMO DISKETTE
Vermont
Creative
Software
21 Elm Ave
Richford,VT 05476
Telex: 510-601-4160 VCSOFT
Tel.: 802-848-7731
Prices: PCDOS' $395; XENIX, VMS, UNIX Call.
•PCDOS specify C compiler.
WINDOWS FOR IMIA
for DOS, UNIX, VMS.
The complete windowing data entry, menu,
and help system that does the hard job
others can’t — we guarantee it!
Pop-up data entry windows; field types for
all C data types, plus decimals, dates, and
times; auto conversion to and from strings
for all field types; system and user supplied
validation functions; range checking; re¬
quired, must-fill, and protected fields; free¬
form movement; multiple-choice field entry;
scrollable sub-forms. Branch and nest win¬
dows, forms, and menus.
Complete context-sentitive help system
with pop-up windows and scrollable text.
Pop-up, pull-down, scrollable, and Lotus-
style menus.
NEW FOR DEBUGGING: Exclusive
VCS Error Traccback System auto¬
matically identifies the location and
cause of program errors. Eliminates the
need to code error checks on all function
calls! VCS Memory Integrity Check¬
ing helps catch those hard-to-detect,
memory-corruption errors.
NEW FOR ERROR HANDLING: In¬
stall your own error handler to be called
whenever a function detects an error.
NEW FORM LAYOUT UTILITY sim¬
plifies form design.
CIRCLE NO. 115 ON REAPER SERVICE CARD
SPEED-UP YOUR PC GRAPHICSl
With the GSS® Graphics Development Toolkit
and your favorite language * you can write
faster graphics applications in record time.
Increase Your Application Performance
GSS drivers are written directly to the hardware, so your
applications run fast. And the latest display cards are supported,
including high-performance boards from Video-7, Quadram, Emulex,
and others. Low memory overhead also promotes faster performance.
The GSS software typically requires only 75Kb at run-time.
Reduce Your Time To Market
GSS provides the graphics functions and
device drivers, so you spend less time in
development. Call over 100 high-level
functions for lines, arcs, text, bitmaps,
clipping, and more. Support numerous mice,
displays, printers and plotters, including
EGA displays, HP plotters, Epson LQ printers
and the HP LaserJet + .
Build The Future Into
Your Software
Your applications will
work with new graphics
devices as new GSS
drivers become avail¬
able. You won’t have to
modify your program!
And when you use the
Graphics Development
Toolkit, your graphics
software will be source
code compatible with
the new features of
future DOS versions.
For an in-depth look at creating
high-performance PC AT graphics,
attend the nearest GSS Seminar:
Our complete GSS Line:
List:
PC Brand:
CGI Dvlpmt Toolkit
M95
*375
Kernel System
*495
*375
Kernel for IBM RT
*795
*645
Metafile Interpreter
*295
*235
San Jose
Washington, D.C.
Los Angeles
Boston
San Jose
New York City
Orange County, CA
Boston
San Jose
Atlanta
June 11
June 18
July 9
July 23
Aug. 6
Aug. 20
Sep.10
Sep. 24
Oct. 8
Oct. 22
Call PC BRAND to register now!
Registration fee, $25.
*languages supported:
Lattice C; Microsoft C; Lahey FORTRAN; Microsoft
FORTRAN; R/M FORTRAN; IBM FORTRAN; IBM Professional
FORTRAN; Microsoft Pascal; IBM Pascal; Microsoft BASIC
Compiler; Microsoft Quick BASIC; IBM BASIC Compiler;
Microsoft Macro Assembler; IBM Macro Assembler.
Photos provided by CREARE, INTEGRATED
SYSTEMS, and OPTIM ELECTRONICS
To Order Your GSS Software Today Call
800 PC-BRAND
That's (800) 722-7263. In NY State call (212) 242-3600
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311
Telex: 667962 (SOFT COMM NYK)
Prices, terms, and sp>ecif ications subject to change without notice.
© 1987 PC BRAND
CIRCLE NO. 233 ON READER SERVICE CARD
PC BRANDS CAREFUWr CHOSEN
PROGRAMMER TOOLS
BRIEF Version 2.0 Extends Lead
B rief has come forth with version 2.0
offering editing templates for added
languages, faster undo and search with
matching over multiple lines, new types
of block marking, large screen support,
new documentation, and tutorials.
This runaway success has eclipsed all
other editors by sporting every feature
you’ve ever contemplated. Tfext, from
keyboard or files, is housed in multiple
buffers, and scrolled through one or
more windows you open, close, resize.
A text buffer may be called to different
windows to view two areas at once. A
change in one changes both. Ttext may be
marked for printing, writing to files,
movement to scrap buffers for cut and
paste into other buffers or deletion, with
as many backward "undos" as you want.
With a growing list of C compilers,
you can compile without ever leaving
Brief. It grabs the compiler’s report of
problem lines, and marches you through
your source code for repairs.
Parts of Brief were written with its own
Lisp-like macro language which has
structure, 32-character variable names,
conditional execution, loops, and even
readability. Nothing like the hieroglyphs
we’ve seen elsewhere. Bulletin board
and public domain disks with macros.
"One of the best investments you can
make," PC Magazine. Tb top it off.
there’s a 30-day money-back trial
period. List; $195, Us: Call.
HALO GRAPHICS
SYSTEM Multi-Board
Graphics Library
The premier graphics library that got the
ball rolling for PC-based graphics and has
grown so omnipotent that it supports over
25 graphics boards — including IBM’s
EGA and Nr. 9 Revolution’s hi-res series —
and has a multitude of mouse and printer
drivers. All that in each box. Separate C
versions for Lattice, M’soft, Aztez, CI86.
What does Multi-Halo do? A down to the
last pixel graphics library plus functions to
reset drivers so distributed program can
run on anything. Wonderful value for single
license. Costly royalties though for
redistribution. Specify; S0315 & Language.
List: *300. We: *219. With Dr. Halo II, a free¬
standing ’’paint"; List: *440, Us; *299.
CLIPPER From Nantucket help techniques for applications, a de-
^ n j bugger. and it supports Expanded Mem-
Compile dBASE for Speed, Protection beyond dBASE with
1,024 fields per data base and 2,048
active memory variables.
Clipper has the power to save and re¬
store multiple screens to and from mem¬
ory variables. You can also create over¬
lays. call object modules compiled in other
languages, and create function libraries
to link with your applications. Power and
flexibility make it the ^1 dBASE compiler.
List: $695, PC Brand: CaU.
C lipperTM turns lumbering dBASE®
into a speed dMCN with benefits
bobbing in its wake: your source code is
submerged from public view, you can
distribute your compiled application with¬
out royalties, and your customers don’t
even need copies of dBASE! The Spring
’87 Clipper offers index files compatible
with dBase III Plus, and networking capa¬
bilities to run compiled programs on ma¬
jor networks supporting DCS 3.1 with no
restrictions on number of users. Clipper
offers arrays, menu-building commands,
user-defined functions, context-sensitive
McMAX Fixm Nantucket
Like dBASE for the Macintosh
M cMaxTM is like running dBASE on
the Macintosh. It combines an
easy-to-use menu-driven ASSIST mode
using the Mac interface, an interactive
command mode like dBASE at the dot
prompt, and an application programming
language fully compatible with dBase III.
It gives you the power to create dBASE
language applications on the Macintosh
and transfer back and forth to the IBM®
world. McMax accommodates up to 16
million records. 32,000 characters per
record, 255 characters per field, and up
to 32 files open concurrently. No copy
protection. List: $295, PC Brand: Call.
^ivesifproductcodey .(^eans
fort through N
breaking ^®_,-,qelimits.soforprod
MICROSOFTC4.0
A Great C Battle Rages and You’re Winning
t bundles a source debugger and a
1 "make", and sports a "huge" mem¬
ory model permitting single data ob¬
jects larger than 64k, but what’s really
impressive about Microsoft C are the
benchmarks reported in Dr. Dobb’s.
Microsoft runs away from a field of 17
winning 11 of 27 benchmarks.
The CodeViewTM debugger uses
windows to show everything on one
screen: source alongside disassembled
object, variables, stack and registers.
Drop down windows obviate learning
of commands. "A source-level debug¬
ger that puts the rest to shame" said
Dobb’s.
Microsoft C has five memory models
for code and data, plus non-library sup¬
port for another thirteen, and boasts
alternate math packages for speed ver¬
sus accuracy, with or without 8087/
80287 chips.
Both linker and library manager are
part of the package, as is the "make",
which knows how to rebuild any size
project by compiling only elements
which have changed.
It is reportedly used by Lotus,
Ashton-Tate and, fittingly. Microsoft
itself to develop Windows. Dobb’s calls
It "the best MS-DOS C development
environment value today [for] virtually
any kind of program conceivable."
320k suggested.
Ask for: List: PC Brand:
G0500 $450 $295
C TREE & R-TREE
C-tree: Seasoned to perfection.
c-treeTM is the only major b-tree file
manager with network support in the
standard low-cost version. It allows mul¬
tiple users to access an index file simul¬
taneously even during updating. Record¬
locking routines are provided for DOS
3.x, UNIX and XENIX.
C-tree even comes in C source code,
yet there are no royalties. Source sticks
to K&R, so C-tree is portable. Ttests in
many environments prove it.
C-tree permits any number of keys
for a data file—alpha, numeric, even
floating point. It handles files with
varied record lengths and keeps multi¬
ple keys in one index file. Has both high
level ISAM routines to handle details
B-Tree File Manager Now Has
with minimum coding, and decomposed
step-by-step functions you can access
directly. In short, you get the works.
r-4ree: thousands of c-tree users (and
you) now have a suddenly expanded
ability to produce ad hoc reports from
files maintained by c-tree (v. 4.1 and
up). Just link a file description to the
r-tree library, and all you need is an
ordinary text editor to write any
number of report scripts with no further
C coding. Reports can access data in
several files, select on criteria, join the
Report Generator
findings into new logical records, sort
them, calculate new fields and columns,
tabulate by any number of control
breaks. The script files show a visual
representation of the report image for
easy creation and maintenance of even
elaborate layouts. r-treeTM comes in
source, boasts the same portability as
c-tree. and fits any compiler.
list;
PC Brand:
c-tree: F0660
$395
$329
r-tree: F0665
$295
$245
Combined;
$650
$541
POLYTRON VERSION CONTROL
Source Code Control for Any Language
dBC Lattice Library Maintains dBASE
Compatible Files With the Power and Speed of C
d BC™ links C to dBASE. It creates and
maintains files and their indexes which
exactly replicate dBASE file design. So
dBASE can read and update them. And
the reverse. dBC can use any files created
by dBASE. Now C and dBASE can operate
on the same data bases interchangeably.
That opens up the widespread culture of
dBASE installations to exploitation by C
programmers. Tap that market, avoid the
resident dBASE language, and gain the
advantages of C with this single product..
dBC’s functions parallel all dBASE’s file
handling commands, many decomposed
to give closer control. Each backed by
demo source files on disk.
Use dBC for custom work for clients, or
on its own. It’s a complete ISAM file
manager for C whether or not dBASE will
be used in tandem, supports all four
memory models, and can have sixteen
index and data files open. Big discount to
buyers of both dBASE II and III versions.
Specify Lattice, Microsoft 3.x. or DeSmet.
Versions: List: PC Brand:
LOOII For dBASE II ‘250 ‘195
LiCCIl With Source ‘500 ‘390
LOIII For dBASE III ‘250 ‘195
LCIII With Source ‘500 ‘390
literature coveu
PVCS allows programmers, project
managers, librarians and system ad¬
ministrators to control the proliferation
of revisions and versions of source
code in software systems. Independ¬
ent programmers, the leading soft¬
ware publishers and LAN companies,
and hundreds of Fortune 1000 compa¬
nies rely on PVCS to store and re¬
trieve multiple revisions of text. It
maintains a complete history of revi¬
sions as an "audit trail", generates
status reports, and uses intelligent
"difference detection" to minimize
disk space for each new version.
On Corporate and Network PVCS si¬
multaneous changes to a module are
merged into a single new version. If
changes conflict, the user is notified.
The ’’Logfiles" used to track changes
are interchangeable between any
PVCS product.
Corporate PVCS is for multiple pro¬
grammers. It includes "branching" to
mamtain code when programs evolve
on multiple paths. Personal PVCS
offers most of the power and flexibility
of corporate PVCS, but excludes mul¬
tiple programmer features. Network
PVCS is the Corporate version for
LANs. File locking and security levels
can be tailored to each project.
PolyMake Still using a prehistoric
Make? Step up to PolyMake. the most
popular and powerful Make utility.
Most flexible macros of any Make.
Now integrated with PVCS and Poly-
Librarian for faster performance and
precise configuration management.
Ask for:
List
PC Brand:
Personal PVCS
*149
*109
Corporate PVCS
*395
*309
Network PVCS
CaU
Call
PolyMake
*149
*109
For Orders or Literature, Call Us at....
800 PC-BRAND
That's (800) 7ZZ-72Q3. In NY State call (212) 242-3600
PC Brand, 150 5th Ave., New York, N.Y 10011-4311
Telex; 667962 (SOFT COMM NYK)
(91987 PC BRAND
Prices, terms, and specifications subject to change without notice.
CIRCLE NO. 233 ON READER SERVICE CARD
TODMr^ TOP QUAUTY AIDS TO
PROGRAMMING PRODUCnVITY
SUPER SOURCE
Two great debugging and documenta¬
tion tools that support C. Modula,
Pascal. BASIC, and dBASE:
Source Print
Author Alan Simpson writes “the best
overall debugging technique is to...
draw lines to connect all the IPs and
DO WHILES etc. with their ENDIFs and
ENDDOs. Use a pen or pencil to..."
Well thanks, Alan, but we'll let Source
Print do it for us. It draws vertical lines
to connect all such beginnings and end¬
ings in a vivid display of your program’s
organization. And it can print programs
with page numbers, headings, line num¬
bers. indent automatically, throw in a
table of contents and a cross-reference
index. About Source Print PC Magazine
said, “Occasionally a utility comes
along that makes a programmer's life
much easier." List: $25, Ours: $60
PANEL PLUS Library Source Code Gives It Complete Portability
Oit^’' 'ROYALTIES!
There are no end of tools for screen
design and data entry, but none quite
like Panel Plus. Design a screen under
program control, use Panel’s utility to
"run" and test it field by field, then
pass it to Panel's code generator which
delivers C source code. Options style
the code to your compiler's liking, and
you can of course do what you like to
the source afterward. The code calls
Panel Plus's function library, but now
the library comes in source, so every¬
thing produced is highly portable. Not
like other screen managers delivered
as object libraries and which leave you
to write the detailed code.
Panel Plus will operate in graphics
mode via interfaces to graphics prod¬
ucts It supports and can utilize the
EGA's 43-line screen. Low-level I/O
functions adapt it to various keyboards,
screens, operating systems.
Panel's newest incarnation has every
imaginable feature. A single screen de¬
sign can have 1000 fields stacked as
visual overlays up to 127 levels deep or
as pop-ups. Groups of fields can be
moved between levels. Screens can be
output as compilable code or stored on
disk for loading at run-time. Each field
..and T^ee Diagrammer
Tree Diagrammer prints an organization
chart of your program's structure show¬
ing the hierarchy of function, procedure,
and subroutine calls. Shows at a glance
what routines call each other for clearer
debugging. Every shop should have
this important documentation tool. List:
$55. Ours: $45.
can be boxed, colored, multi-row, word¬
wrapped, and scrolled horizontally and
vertically if larger than its on-screen
view ap)erture. It can be assigned its
own help and error message, can be
told to accept certain characters, or to
match a picture, and to check data
after entry—proper dates, number
ranges, etc.—using Panel's or your own
validation routines. You can add your
routines to Panel’s test utility because
even it comes as source. Fields are ac¬
cessed in any order and control reverts
to your application program after each
field for choice of action.
For past Panelists, the new version has
smaller and faster field and screen
functions, tighter granulanty. and an en¬
hanced. reworked library. Major tool
for the serious developer. List: $495, PC
Brand: $395.
Shopping List tor the Power Worifbench
ARITY PRODUCTS
Arity Combination Package.
Expert System Development Pkg.
File Interchange Toolkit.
PROLOG Compiler & Interpreter.
Screen Design Toolkit.
SQL Development Package.
Arity PROLOG Interpreter.
Arity Standard Prolog.
AI-EXPERT SYSTEMS
Autointelligence by IntelligenceWare .
Experteach II by IntelligenceWare .
EXSYS Development Software by EXSYS..
EXSYS Runtime System.
Insight 2+ by Level Five Research .
\n\e\\\gencelComp\\er IntelligenceWare...
AI-LISP LANGUAGE
IQCLISP by Integral Quality .
IQLISP by Integral Quality .
Microsoft LISP Common LISP .
TransLISP from Solution Systems .
TransLISP PLUS from Solution Systems ..
AI-PROLOG LANGUAGE
APT Active Prolog Tutor from Solution Sys.
MPROLOG Language Primer LOG/C 14/ARE
MPROLOG P500 by LOGICWARE .
MPROLOG P550 by LOGICWARE .
Prolog-86 from Solution Systems .
Prolog-86 Plus from Solution Systems ....
Turbo PROLOG by Borland Int’l .
Turbo PROLOG Toolbox by Borland Int’l...
ASSEMBLERS & DEBUGGERS
Advanced Trace-86 Morgan Debugger ...
C-Sprite Debugger by Lattice, source level
Microsoft Macro Assembler with Utilities
PASM86 by Phoenix, Macro Assembler ..
Periscope I Debugger... The Periscope Co.
Periscope II with NMI Breakout Switch ..
Periscope ll-X software only .
Periscope III with Advanced Board...New.
BASIC LANGUAGE
Microsoft BASIC Interpreter for XE/V/X....
Microsoft QuickBASIC Compiler...3.0.
BORLAND PRODUCTS
Reflex & Reflex Workshop.
Reflex Data Base System .
Reflex Workshop.
Turbo Basic...A/ew.
Turbo C Compiler... A/ew.
Turbo Lightning.
Turbo Pascal & Tutor... A/ew.
TurboPascal with 8087 & BCD .
Turbo PROLOG Compiler.
Turbo PROLOG Toolbox.
Turbo Tutor.
C COMPILERS
C86 PLUS by Computer lnnovations...New.
Lattice C Compiler from Lattice .
Let’s C Compiler by Mark Williams. .
with CSD Source Level Debugger .
MWC-86: Mark Williams C Development ..
Microsoft C Compiler ...4.0 .
Turbo C Compiler by Borland...New .
C INTERPRETERS
C-Terp by Gimpel Software .
Instant C by/?a//ona/Sys/ems.
Interactive-C by IMPACC with debugging..
RUN/C Professional from Lifeboat .
COMMUNICATIONS
Asynch Manager by Blaise, for C or Pascal
LIST
US
1095
979
295
229
50
44
650
569
50
44
295
229
295
229
95
77
990
739
475
339
395
309
600
469
485
379
990
739
300
Call
270
Cali
250
189
95
Call
195
Call
65
Call
50
45
495
395
220
175
125
Call
250
Call
100
63
100
64
175
119
175
139
150
109
195
125
345
289
175
139
145
105
995
Call
350
295
99
79
200
129
150
89
70
45
100
64
100
64
100
64
125
85
100
64
100
63
100
64
40
28
497
397
500
299
75
55
125
90
495
369
450
295
100
64
300
249
500
395
249
219
250
185
,175
117
LIST US
Greenleaf Communications by Green/ea/ . 185 139
C UTILITY LIBRARIES
Blaise C Tools Plus . 175 117
Blaise C Tools. 125 84
Blaise C Tools 2 . lOO 67
C Food Smorgasbord by La///ce. 150 109
C Utility Library by Essential, 300 functions 185 139
Greenleaf Functions by Green/ea/So//ware 185 139
COBOL LANGUAGE
RM/COBOL...see Ryan-McFarland Prod.
Microsoft COBOL Compiler. 700 499
Microsoft COBOL Compiler for XENIX .... 995 795
Micro Focus COBOL...see Micro Focus Prod.
dBASE SUPPORT
BRIEF/dBRIEF...e/-/e/for DBASE///. 275 Call
CUPPEKJrom Nantucket . 695 Call
McMAX...c/ 6 ASE for MAC from Nantucket: 295 Call
dBx..dSASE to C Translator by DESKTOP Al 350 299
with Library Source Code . 550 469
with Full Source Code . 1000 855
dBC.../rom Lattice...maintains DBASE files 250 195
with source . 500 390
dBC III Plus...suppor/s multi-user DBASE.. 750 595
with source . 1 500 1185
DEVELOPMENT TOOLS
BASTOC by JMI, convert BASIC to C . 495 399
BASIC-C BASIC’s functions added toC ... 175 139
Report Option Softcraft Btrieve Report Gen. 145 128
Xtrleve Softcraft Query Utility for Btrieve .. 245 220
Code Sifter Profiler by David Smith . 119 89
Dan Bricklln’s Demo Program Pro/o/yper.. 75 69
LMK from Lattice, “make”like UNIX . 195 149
Microsoft Window Development Toolkit... 500 365
ESSENTIAL PRODUCTS
C Utility Library. 185 119
Essential Graphics. 250 183
Essential Comm Library. 185 125
with Breakout Debugger . 250 189
FILE MANAGERS
Btrieve by Softcraft, no royalties . 250 195
Btrieve Network by So//cra//. 595 465
C-Tree by FairCom - no royalties, source .. 395 329
P-Tree by FairCom-Report Generator . 295 245
C-Tree & R-Tree Combo by FairCom . 650 541
dbVisXa single user DBMS by Raima . 195 139
dbyisia multi-user DBMS . 495 399
Opt-Tech Sort Can sor/S/r/eve///es. 149 105
FORTRAN LANGUAGE
RM/FORTRAN by Byan/WcPar/and. 595 499
FORTRAN Librarles...by A/pba Compu/er . 70 45
Microsoft FORTRAN Links w/Microsoft C . 450 281
Microsoft FORTRAN/orXE/V/X. 695 546
Scientific Subroutine Package by A/pba .. 295 239
GRAPHICS
Essential Graphics Essential, no royalties. 250 210
GSS Graphics Development Toolkit. 495 375
GSS Kernel System by Graphic Software.. 495 375
GSS Metafile Interpreter. 295 235
Ha\o by Media Cybernetics . 300 219
w/7b Dr. Halo II. 440 299
Halo for Microsoft includes all fonts . 595 434
MICRO FOCUS PRODUCTS
Micro Focus Level II COBOL w/Animator .. 495 395
Level II COBOL. 349 279
Level II Animator. 195 155
Micro Focus Personal COBOL. 149 99
Forms -2 . 295 235
MODULA-2 LANGUAGE
MODULA-2 Apprentice Pkg by LOGITECH . 99 79
MODULA-2 Magic Pkg by LOGITECH .
MODULA.2 ROM Pkg & Cross RT Debugger
MODULA-2 Window Pkg by LOGITECH ...
MODULA-2 Wizard’s Pkg by LOGITECH ...
OTHER LANGUAGES & UTILITIES
Source Print..soL/rce code formatter .
Tree Diagrammer..soL/rce code diagrammer
Help/Control by MDS... 123 style Help .
Microsoft MuMath includes MuSimp .
Microsoft Pascal Compiler L/n/cs w/M'soft C.
Microsoft Pascal Compiler for XENIX .
Turbo Power Tools + by Blaise .
Advantage C+ + by Lifeboat Assoc .
PHOENIX PRODUCTS
PASM86 Macro Assemb/er.
PDisk Phoenix’s new disk manager .
Pfantasy Pac six products...New Price _
PFinish EXE performance analyzer .
Pfix86 Plus Symbolic Debugger .
PforCe vast library ..
PforCe+ + ...Ei;/7c//on Library for C+ + ....
Plink86 Plus Utilizes memory for overlays .
Pmaker like UNIX “make” .
Pmate with Macros .
Pre-C UNIX “lint”-alike .
PTel Binary File Communicator .
POLYTRON PRODUCTS
PVCS Corporate...SoL/rce Code Control Syst.
PVCS Personal.
PVCS Network.
PolyMake Complete Make Utility .
PolyLibrarian Library Manager .
PolyLibrarian II Library Manaer .
PolyShell UNIX-like Command Shell .
PolyXREF Complete Cross Ref Utility ....
PolyXREF One language only .
PolyBoost The Software Accelerator .
PolyDesk III 3rd Generation Desktop Org..
Poly Desk III Add On Tools .
RYAN-McFARLAND PRODUCTS
RM/FORTRAN...2.4/Vew.
RM/FORTRAN...L//V/X or XENIX .
RM/COBOL..DOS .
RM/COBOL...U/V/X or XE/V/X.
RM/COBOL Run Time.
RM/COBOL85...A/VS/85 COBOL .
RM/COBOL 85 RUN TIME.
RM/SCREEN.../or COBOL 85 .
RM/NET +5...COBOL & COBOL 85 Network
SCREEN DESIGN
Curses by Lattice, UNIX screen designer..
with Source .
Greenleaf Data Windows.../Vew ..
with source .
Panel Plus by Round Hill, no royalties..New
View Manager for C by Blaise .
Vitamin C by Creative Programming .
VC Screen by Creative Programming .
Windows for C Vermont Creative Software
Windows for Data includes Windows forC
ZView Data Management Consultants....
TEXT EDITORS
Brief from Solution Systems .
Condor Editor by Condor .
Edix by Emerging Tech...Multi-screen .
Epsilon by Lugaru Software, like EMACS ..
FirsTime by Spruce Technology, C syntax .
Kedit by Mansfield, similar to Xedit .
LSE, the Lattice Screen Editor Multi Wind..
Vedit by Compuview .
Vedit Plus by Compuview .
LIST
US
99
79
299
239
49
39
199
159
75
60
55
45
125
109
300
199
300
199
695
546
100
67
495
435
195
125
195
125
995 Cali
395
235
395
235
395
235
395
235
495
325
125
85
195
115
295
174
195
115
395
309
149
109
Call Call
149
109
99
73
149
109
149
109
219
169
129
99
80
64
99
73
Call
Call
595
499
750
599
950
799
1250
999
250
199
1250
995
300
249
395
335
300
249
125
99
250
199
225
169
395
297
495
395
275
164
225
198
100
81
245
216
395
349
245
175
195 Call
130
118
195
159
195
149
295
229
125
99
125
100
150
99
185
129
CIRCLE NO. 233 ON READER SERVICE CARD
PmCED TO SAVE YOU MONEY,
SHIPPED EAST ANYWHEIX.
that some users require from software
these days. The kind of speed offered
by software written in the C language.
The answer is dBx. It translates dBASE
to C It offers you a major competitive
advantage over the next dBASE pro¬
grammer. But not by converting every¬
thing you’ve ever written to C including
you. Rather, keep right on writing in
dBASE. Thke every application ^1 the
way to completion. Then use dBx to
translate it top to bottom to C source
code and compile it.
There are other advantages. C is port¬
able, even to other operating systems
like UNIXTM/XENIXTM as well as to the
Macintosh or Amiga. dBx is the gateway
for your applications to places where
dBASE cannot go. (Library source
needed for non MS-DOS).
dBx has its own file management utility
for single user, but links to major C file
managers—c-treeTM and dBC—for both
compatibility with dBASE files and multi¬
user support. And you’ll need a C com¬
piler. We have everything to get you
under way, including good advice. So
call us when you’re ready to put to C.
List;
PC Brand;
(dBx
$ 350
$299
with Library Source
$ 550
$469
with Full Source Co(de $1000
$855 i
Call for special dBx Translation System ]
pricing with includes dBx, C compiler,
and File Manager. '
dBx: dBASE AT THE SPEED OF C
Ttanslates dBASE Applications to C
Y ou dBASETM programmers know
what an expressive and readable
language dBASE is. It’s a very comfort¬
able development environment. But the
price is debased performance. Even
compiled dBASE doesn’t offer the speed
ESSENTIAL C
UTILITY LIBRARY
400 Functions, 304^ Each
Y ou’ve probably seen the speed and
power of Essential’s C function li¬
brary without knowing it. Software greats
have been using it for some time to give
today’s top products pizazz and panache.
Now grown to 400 functions Essential’s
collection features routines to produce
pop-up menus, save and restore screens
and windows to disk or memory in as lit¬
tle as 1/lOth second, and the fastest
video output available. Screen handling
covers scrolling, paging, word processor
functions to insert, delete and clear to
end of lines or screen. Library has a com¬
plete set of 50 business graphics func¬
tions, 40 string handlers, 28 functions for
printers, 18 for mice, 11 for time and
date. Its DOS interfacing functions offer
disk error trapping to keep DOS from in¬
truding on your program, and directory
and file management with file creation,
file search using wild cards, plus acqui¬
sition and change of file attributes.
Everything comes in source, including
sample programs that demo library
functions. We have versions with pre-
built libraries for all well-known 0 com¬
pilers, and a source code librarian is
supplied for rolling your own.
List: PC Brand;
C Utility Library $185 $119
Essential Graphics $250 $183
Essential Communications $185 $125
with Breakout Debugger $250 $189
ZVIEW
Screen Design Aid
A complete package for screen
design with full windows manage¬
ment as a bonus! Easy creation of
screens with complex validation, such
as range checking or required/option¬
al data. Powerful Screen Paint' utility
for creating or editing applications
screens. Built in security levels, set at
run-time, control read or read/write
access by field or screen. Automatic
help screen processing for run-time
aid per field or screen. Applications .
regain control during field tabbing,
allowing run-time on-screen transaction
processing or flow control. Run-time
functions include Screen Read and
Write with automatic transparent data
conversion from screen image to data
storage. Field Editing, Help Screen
Processing, even a capability to
change any field characteristic at run¬
time, plus Window Push Pop and Scroll.
Versions for Lattice, Microsoft and
Aztec C. Automatic free updates to
registered users. No run-time royalties.
List: «245 PC Brand: *175
The CONDOR EDITOR*'® purchase
T he developer of the Condor data-
t
base system has come up with an
unflappable editor with all the features
you could hope for, especially a price
that’s light as a feather. No matter your
language, the Condor Editor 0ves flight
to your work with windows—tiled, over¬
lapping, or split—to bring multiple files
to the screen for simultaneous editing,
full cut and paste between windows, and
unlimited notepad buffers to store inter¬
mediate scraps. The editor has search
capabilities to identify all files containing
States’’Our
these /
Btrieve
Kerne!
I
•I'e Ship
Press
Time
9/1/85
550 occ
3.200 2 26n
600 ’ll?
T8.500 46980
So tZ
your%%^3a'n- Phont
name S caz-oWo/tf.
WINDOWS FOR DATA M’soR Windows Compatible
indows for DataTM adds the pizazz tines scroll and highlightjists with arrow
W :
and practicality of window parti¬
tioning for entering data in your applica¬
tion. Powerful field-level functions let you
specify prompt string, field length, data
type, screen location, picture, receiving
variable, etc. Field options can require or
prevent entry, cause beeping on invalid
entry or overflow, attach field-specific help
messages, functions to call for entry valida¬
tion. You control which keys clear a field,
jump to next or prior fields, quit, etc.
The Windows for C subset has all the
windowing functions without data entry.
Unlimited windows, defined in C struc¬
tures for reference throughout your pro¬
gram, can be made either to pop up of
permanently overwrite the screen. Rou-
INTERACTIVE-C
Intrepreter, Editor, Debugger
I nteractive-CTM is a fully integrated en¬
vironment: a complete K&R interpre¬
ter bound to its own editor and ’’the best
debugging facilities of any”, says Com¬
puter Language. 2/87. Adjustable edit,
command, and status windows, second
screen for program output. Or twin CRTs.
Can load object code of your compiled
functions or commercial libraries. Imme¬
diate mode, syntax checking both when
you type and run, and cursor that points
precisely at errors. Debugger includes
breakpoints, watchvalues, stepping op¬
tions, interactive changing of variables.
List: $249, PC Brand: $219.
keys, read and scroll ASCII files both ways
in windows. Logical treatment of video at¬
tributes permits unchanged programs to
run on color or monochrome. Colors of
windows are set individually. All functions
are in separate modules. Only those used
are linked. Only buffers holding on-screen
or temporarily obscured windows occu¬
py RAM; others released dynamically.
Clear documentation.
Specify compiler: List: PC Brand;
Windows for Data $395 $349
Windows for C $245 $216
a sought for keyword and its location in
those files, ideal for tracking down
system-wide use of a function or varia¬
ble. All DOS commands are available
from within the editor. And it has either
menued comrnands in desktop style or
single keystroke commands once menus
become obtrusive. Plus Condor claims
the most extensive help facility of any
editor should a new need come along.
And for Condor 3 database management
users, the Condor Editor cross-references
command and form files. List; $129.
PC Brand; $118. Tbgether with compiler
purchase the price drops to $99.
BLAISE C Tbols Plus
N othing pays you back quicker than
a function library, and Blaise has
long been known as a great one.
C Tbols Plus, the top of the line, now
has over 200 functions. Mature, tight,
predominantly in C, they isolate hard¬
ware dependence, come in source and
library, with no royalty. The rundown:
Screen Handling; either via BIOS or
direct to video adapter; supports EGA,
43-Iine mode and multiple pages, twin
monitors. Windows: any number, stack-
able, writable, wordwrapable, and
eras^le. Interrupts; well known for in¬
terrupt service routines in C, from
which you can now access DOS func¬
tions. Directories: Create, change, or
search directories, rename files, get
and change their date/times. Memory:
control DOS memory allocation, load a
’’child” process alongside your pro¬
gram, even create memory-resident
programs—and remove them. Strings:
international money, dates and charac¬
ter sets, plus superftmctions to perform
several tasks with a single call. Gen¬
eral: BIOS and DOS gates for direct
access, memory copy, speaker control,
it goes on. Our complete Blaise line:
List: PC Brand:
C Tbols Plus $175 $117
Asynch Manager $175 $117
View Manager $275 $164
Turbo Asynch Plus $100 $ 67
Turbo Power Tbols + $100 $ 67
BTRIEVE ASK us ABOUT XTRIEVE& REPORT OPTION
Queen B-tree File Manager Abdicates lUiyalties
Can even extend a file across two drives -
even two hard disks!
T here’s no longer a tithe to incorporate
Btrieve™ in applications, a welcome
proclamation if roy^ties would ruin your
profit margins. Btrieve takes complete
charge of all file creation, indexing,
reading, writing, insertion, deletion, space
recapture, forward and backward search¬
ing. It builds function call "commands"
right into the language you use: interfaces
to C. Pascal, BASIC, and COBOL, with sam¬
ple programs in all four, come with each
copy.
Btrieve has mainframe specifications! Its
balanced-tree indexing scheme finds any
key in a million in four or less accesses.
Files may have up to 24 indexes; fixed
record length to 4090 characters; indexes
up to 255 characters; files of 4 billion bytes.
Version 4.x speeds DOS interaction for
large multiply-keyed files; enables
variable len^ records of virtually any
length; verifies accuracy (optionally) with
read after write, useful in gritty en¬
vironments; offers password and data
encryption.
There’s also Xtrieve, for Btrieve file in¬
quiry and data manipulation, and Btrieve
for report writing. All three in versions for
any network that supports the MS-DOS 3.1
file sharing function.
Ask for: List: PC Brand:
S0650 *250 *195
S0652 Network Version *595 *465
TERMS AND CONDITIONS OF SALE
Licenses: Each price is for a license to use a prod¬
uct on a single computer and does not constitute
its ownership. We will inquire for you about site
licenses. Except as otherwise indicated or where
follows the Product Code, products may be
used to create programs for distribution without
royalty payments or additional licenses, provided
said programs do not substantially replicate the
products themselves.
Compatibility: PC BRAND’S standard products
aredesignedtooperatewiththelBM® PC. XT or AT
under PC-DOS and require no more than 128k of
RAM unless indicated. Non IBM machines using
MS-DOS: contact manufacturer about precise dif¬
ferences so we can advise.
Returns: See box page one. Defective parts will be
replaced. Please call for authorization to return a
product for refund.
Payment: We honor MasterCard, Visa, American
Express (no surcharge), checks in advance, or
funds wired to PC Brand, do Chemical Bank, 12C
East 86 St., New York, Account 034-016058. COD
(U.S. only) for cash, money order, certified check
(no fee). NY State, add sales tax. Purchase orders
accepted from larger corporations and institutions
at our discretion if you agree to net 30 days plus 2%
a month late penalty thereafter.
Shipping & Handling: U.S.; UPS Surface; 1st
product $6. each add’l $3. UPS 2nd Day Air; 1st
product $10, each add’l $4.50. UPS Next Day Air or
Federal Express 1-2 Day Air: 1st product $16. each
add'l $6. FedEx Next Day 10 AM; 1st product $28,
each add’l $7. International; Charges vary by
destination and carrier. $10 per shipping container
for export forms. Air parcel post at your risk beyond
collected insurable amount.
For Orders or Literature, Call Us at....
800PC-BRAND
That’S (800) 722-7263. In NY State call (212) 242-3600
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311
Ttelex; 667962 (SOFT COMM NYK)
©1987 PC BRAND
Prices, terms, and specifications subject to change without notice. 4TJ8/87
CIRCLE NO. 233 ON READER SERVICE CARD
TECH RELEASES
Derelopmoits for the
systems professional
Anuleh's IJ 5-MIIz Svste/n/2H()A
SYSTEMS
A series of 80386-based computers are
being marketed by Mitsubishi Elec¬
tronics. Tlie MP386 Series operate at
16 MHz with zero wait states. Standard
features include 32KB of cache mem-
oiy (expandable to 64KB), sockets for
an 80287 or 80387, 10 slots for expan¬
sion and custom configuration, and 5
half-height mass-storage devices. The
MP386 will be sold through resellers
who provide vertical-niche solutions
and applications with emphasis on
value-added features. With a 40MB
disk-drive, $5,995.
Mitsuhisbi Electro)lies Aiiiei'icci, liic.,
Coinpiiter Divisioi, 99/ Knox Stivef,
Toiraiicc, CA 90502: 213/515-2993
CIRCLE 303 ON RE/VDER SERVICE CARD
Based on a modular plug-in card archi¬
tecture, a family of personal computers
has been introduced by Anidek Cor¬
poration, a wholly owned subsidian’
of Wyse Technology. The Systeni/88,
based on the 10-MHz Intel 8088, fea¬
tures a CPU of either 4.77 or 9.54 MHz.
Systenv88 has a realtime clock, serial
port, parallel port, 640K13 of RAM,
seven full-length expansion slots, and
tAV'O half-height disk drive ba\s. With
360KB diskette drive, $1,115; and with
a 20MB hard disk, $1,815.
The Systeni/286 is an 80286-based
machine with 512KB \<AM and all the
features of the System/88 plus an addi¬
tional half-height ba\’ and a 190-watt
power supply. With a 1.2MB diskette
drive and drive controller, $1,“'95; and
with a 20MB hard disk, $2,395.
The Systeiii/286A, based on the
12.5-MHz Intel 80286, features zero-
wait-state memon^ architecture. The
Systenv286A offers all the features of
the System/286 plus an 8-MHz one-
wait-state mode, LCD .sy'stem status dis¬
play’, 1MB KAM (which is expandable to
16MB), an additional serial port, and a
socket for a 6- or 10-MHz 80287. With
a 1.2MB diskette drive, $2,450; and with
a 40MB hard disk, $3,750.
The Systeiii/386, based on the
l6-MHz Intel 80386, features six expan¬
sion slots and has all the features of
the Sy’stem/286 plus a dynamically
switchable speed of 8 or 16 MHz, and
sockets for an 80287 or 80387. With a
single 1.2MB diskette drive, $3,850; and
with a 40MB hard di.sk, $4,150.
The System/386E, is a highly ex¬
pandable unit based on the 16-MHz
Intel 80386 CPU, offering all the perfor¬
mance of the Sy^stem/386 plus n^s^o ad¬
ditional half-height disk drive shelves
lixpamlahle H()386 fxLsecl System/SH(^l: from Amdelt
and a 300-watt power supply. With a
1.2MB diskette drive, $4,250; and with a
40MB hard disk, $5,550.
Anidek Corpoixitioii, 1901 Zemker
Road, San Jose, CA 95112;
408/436-E570
CIRCLE 302 ON RF./VDER SERMCE CARD
A family of personal computers has
been released by’ NCR Corporation.
Ba.sed on NCR's Incremental Worksta¬
tion Architecture, the.se computers fea¬
ture flexible system configuration. This
Lirchitecture i.solates the proces.sor on a
single-slot card on the .sy’stem bus, ena¬
bling users to upgrade to next-genera¬
MUsti))Ls))i Electronics I6-MHz
tion microproce.ssors. A Personality^
Card combines the functions of a video
adapter, disk-drive controllers, ex¬
tended memory’, serial port, and paral¬
lel port on a single board. Discrete,
functional modules can be added by
the user; these modules contain expan¬
sion slots and storage devices that snap
together, requiring no tools for installa¬
tion. NCR offers a choice of key’boards.
The PC916 is a 32-bit machine
based on the 16-MHz Intel 80386. It
features an ad\'anced system design that
isolates the microprocessor and the
primary memory’ on .separate, card¬
sized expansion boards that occupy
two slots in the .sy'stem’s eight-slot bus.
These boards are connected by’ a 32-bit
extender bus, which allows direct 32-
bit access between the processor and
the memon’ for enhanced perfor¬
mance. The companion memoiy board
comes with 2MB of ^O-nano.second
dy'namic RAM chips and can support as
much as 268MB of phy’sical memory-
and four gigaby'tes of virtual memoiy.
The machine comes with a 5.25-inch
1.2MB diskette drive, Pensonality Card
with EGA, and a clock/timer with bat¬
ten’. PC916 with 3()MB hard di.sk,
$6,353; with 44MB, $6,553; with 70MB,
$^,553; or with 115MB, $8,653.
The PC810 is NCR's AT-compatible
ba.sed on the Intel 80286 running at 6
or 10 MHz. The PC810 u.ses the .split-
card architecture of the PC916, allow¬
ing u.sers to upgrade to an 80386 in
the future. The multifunction Personal¬
ity Card is axailable in three varieties,
pro\'iding EGA, color graphics/mono-
chrome, or no graphics support. The
PC810 comes configured with 640KB
RAM (which can be expanded to 16MB)
a 5.25-inch 1.2MB di.skette drive, 720KB
or 1.44MB 3-5-inch di.skette drives, and
a 20MB. 30MB, 44MB or 70MB hard¬
disk drives. Prices range from $2,950
for the basic model with no graphics
adapter to $5,920 when configured
with a ^OMB hard di.sk.
32
PC TECH JOURNAL
PC810, a 10-MHz 80286-based sy^stem from NCR AST-220 multitasking controller from AST ResearcJj, Me.
The PC710, an entty-level 80286-
based machine, also incorporates NCR’s
Incremental Workstation Architecture
and runs at 6 or 10 MHz. The Personal¬
ity Card supports a CGA or EGA. Prices
range from $1,954 for the basic model
with one 3.5-inch 720KB diskette drive
and CGA to $2,870 for an added 20MB
hard disk and EGA. Additional layers
are priced as follows: with four expan¬
sion slots, $395; with a 3.5-inch 1.44MB
diskette drive, $840; with 20MB hard
disk, $1,310, with 3.5-inch 40MB tape
backup, $1,390; with 5.25-inch 360KB
diskette drive, $820; or with 5.25-inch
1.2MB diskette drive, $870.
NCR Corporation, Personal Computer
Division, Dayton, OH 45479;
5131445-6240
CIRCLE 301 ON READER SERVICE CARD
CONNECTIONS
A multitasking controller that allows
the PC, PC/XT, PC/AT and compatibles
to operate in the Digital Equipment
Corporation (DEC) VAX environment as
windowing VT220 terminals is available
from AST Research, Inc. A hardware-
based solution, the AST-220 provides a
direct or remote connection between a
PC and dec’s VAX or MicroVAX sys¬
tems. The product consists of an add¬
on PC card, an RS-232 port mounting
bracket for two VT220 ports, system
software utilities, and an in-depth user’s
manual. The system software down¬
loads onto the AST-220 card, which is
driven by an Intel 80186 with 128KB of
RAM. This leaves all but 16KB to 20KB
of the PC’s own memory free to run
PC applications while using the AST-
220. The system software provides a
multitasking operating system with full
windowing features. Five windows are
available, all of which may operate si¬
multaneously. The windows provide
concurrent access to two separate DEC
sessions, a DOS session, and two
notepads. Kermit and XMODEM prot¬
ocols are provided for use on PCs and
VAX host systems. $595.
AST Research, Inc., 2121 Alton, Avenue,
Irvine, CA 92714-4992; 7141863-1333
CIRCLE 306 ON READER SERVICE CARD
Digital Equipment Corporation
(DEC) has announced the volume avail¬
ability of the IBM PC Network Inte¬
gration Package, which allows users
of IBM PCs to participate in LANs using
DEC’S VAX/VMS Services for MS-DOS, a
software package that allows VAX,
MicroVAX, and VAXmate computers to
act as application, data, and resource
servers to groups of VAXmate and IBM
PCs. These machines can then use the
dec’s Netivork Integration Package
servers to share applications, data and
resources, access information from
remote systems on the network and
apply it in industry-standard applica¬
tions. A full package includes DEC’S
Ethernet controller module (DEPCA),
dual-mode LK250 keyboard, DEC’S
mouse, Microsoft Windows, and VT220
terminal emulation. $1,195.
For customers who prefer the
DOS command-line interface, DEC of¬
fers the IBM PC Network Services
Package, which includes the same net¬
working functionality, but does not
support Windows or the VT220 Termi¬
nal Emulator and does not include the
keyboard or mouse. $895.
DEC also has developed DECnet/
SNA Data Transfer Facility (DTE), a
layered software tliat allows users to
move information and files between a
DEC VAX-based system and a Systems
Network Architecture (SNA) environ¬
ment. With either VMS/SNA software or
the DECnet/SNA Gateway as the link
between the DEC and SNA environ¬
ments, DTE can provide fast, efficient
bidirectional file transfer capabilities
using familiar commands and inter¬
faces. Also announced is the Advanced
Program-to-Program Communica¬
tions (APPC) software to include the
most current features available for
LU6.2. This communications package
enables programmers in an SNA envi¬
ronment to access information residing
on a DEC network without the neces¬
sity of having a DEC user initiate the
session. DTE server software ranges in
price from $1,050 for the VAXstation
2000 to $21,000 for the VAX 8800. DTE
server on IBM System/370 running the
VMS operating system, $25,000. Client
software from $450 for VAXstation 2000
to $9,000 for VAXstation 8800. APPC/
LU6.2 ranges from $450 for the VAXsta¬
tion 2000 to $9,000 for the VAX 8800.
Digital Equipment Corporation,
Maynard, MA 01754-2571;
8001344-4825
CIRCLE 305 ON READER SERVICE CARD
A wholly owned subsidiary of Novell,
Inc., OQ, Inc., has released four con¬
nectivity products. PCOX 3270 allows
IBM PC and PS/2 models on a LAN to
access as many as 40 concurrent main¬
frame sessions. The PCOX/COAX-
MUX, a full-length, high-performance
coaxial interface board, connects a PC
or PS/2 and its LAN to the 3299 inter¬
face of an IBM 3274 or 3174 cluster
controller. PCOX/COAX-MUX works in
conjunction with CXI’s PCOX/GW-3270
server, to provide the gateway to a
mainframe for PCs and PS/2s on a LAN.
All PCOX 3270 coaxial and remote
SEPTEMBER 1987
33
TECH RELEASES
VINES/386 network operating sy'stem from Banyan Systems LANtastic 2.0 from Artisoft. Inc.
LAN-to-mainframe gateway software will
now support the NetWare SPX LAN in¬
terface. Depending on which PCOX
gateway is used, from 5 to 64 host ses¬
sions can be distributed to PCs and
PS/2s on a Novell LAN. CXI’s five LAN
workstation packages provide micro-to-
mainframe functionality to PCs and
PS/2s on LANs equipped with PCOX
coaxial and remote gateways. PCOX/
TWO is a 3270 micro-to-mainframe
software package that runs on PCs or
PS/2s equipped with a PCOX, IBM,
IRMA, or AST coaxial board. It provides
the capability to access one host printer
session concurrently with eight one-
host sessions or one PC session. PCOX/
COAX-MUX, $1,100; PCOX/GW-3270
server, $850; PCOXAWO, $400; PCOX/
TWO, LAN version, $200.
CXI, Inc., 1157 San Antonio Road,
Mountain View, CA 94043-1069;
8001225-7269; in Califomia,
4151969-1999
CIRCLE 309 ON READER SERVICE CARD
A version of a network operating sys¬
tem designed to run on the Compaq
Deskpro 386 has been introduced by
Banyan Systems, Inc. The vines/386
package is designed to take full advan¬
tage of the 80386 s 32-bit, protected-
mode operation and full addressing
capabilities, vines /386 provides a high-
performance migration path from Ban¬
yan’s VINES/286. The software maintains
full compatibility with Banyan’s high-
performance Motorola 68000-based net¬
work servers: the Banyan/BNS and
Banyan/DTS. vines/386 software will in¬
clude protocol support for communi¬
cating with minicomputers and main¬
frames or with larger networks that
include additional Banyan ser\^ers. For
connection to IBM mainframes, a vines/
386-server will allow PCs attached to the
network to emulate 3270 terminals
over SNA/SDLC protocols. File transfer
capabilities will be available to all PCs
attached to a server through a variet\^
of integrated and tltird-party softw^are
products. viNES/386 will provide commu¬
nications with asynchronous hosts via
VTIOO, VT52, IBM3101, and TTY emula¬
tion. File transfer through Kermit pro¬
tocol also will be available. $3,995.
Banyan. Systems Inc., 115 Flanders
Road, Westboro, MA 01581;
6171898-1000
CIRCLE 307 ON READER SERVICE CARD
A second generation asynchronous
gateway has been announced by
Novell, Inc. The NetWare Asynchro¬
nous Connection Service (NACS)
provides LANs running Novell’s Net¬
Ware operating system with improved
access to asynchronous resources; an
optional hardware add-on product al¬
lows off-the-shelf terminal emulation
software to run with the new gateway.
Some NACS features are transparent
resources connection, ability to connect
to any number of asynchronous gate-
wa}^s by resource name and ability to
handle the details of finding an avail-
Novetts NetXi'are Asvncbronons Connection Sen ice
able modem or minicomputer and
then setting of the connection, and
support for up to nine asynchronous
sessions at one time. NACS supports
Novell's X.25 gateway. NACS, $1,095;
NetWare Asynchronous Board, $149.
Novell’s NetWare Asynchronous
Remote Bridge will connect multiple
remote NetWare LANs to a local Net¬
Ware LAN over standard telephone
lines. This bridge will allow remote
PCs to gain access to a local NetWare
LAN. The bridge functions transpar¬
ently, allowing a user to transfer data
to a remote LAN using a command sim¬
ilar to one used to send data locally.
Single-line, $395; multiline, $995.
Novell, Inc., 122 E. 1700 South, Provo,
UT 84601; 8001453-1267; in Utah,
801/379-5900
CIRCLE 308 ON READER SERVICE CARD
A networking product with an on-board
nem^ork processor is available from
Artisoft, Inc. With an enhanced speed
as fast as i.4 Megabits per second
(Mbps), LANtastic 2.0 is compatible
with NETBIOS and be used with the
IBM PC Nemork, Novell’s Advanced
Net^^are or any other NETBIOS-compat-
ible IAN. Because the on-board pro¬
cessor implements the entire NETBIOS,
LANtastic manages all network traffic,
thus freeing up the PC to perform
computing tasks. LANtastic is a bus net¬
work and can communicate directly
with any other PC without any inter¬
vening hardware such as hubs, splitters,
expanders, or tap boxes. When
computers w^ant to communicate on
the bus at the same time, LANtastic
uses a proprietaiy CSMA/CD method
that can detect a network packet colli¬
sion within t^^o microseconds. LAN¬
tastic starter kit, including two half-slot
network cards, cable, bus terminators
and NETBIOS software, $399; individual
cards and cable, $199.
Anisoft, Inc., 3550 N. First Ai'enue,
Suite 330, Tucson, AZ 85719;
602/293-6363
CIRCLE 310 ON READER SERVICE CARD
An automatic dialing synchronous/
asynchronous modem has been intro¬
duced by Network Software Associ¬
ates, Inc. (NSA). The board-level
AdaptModem 201/212 modem incor¬
porates a built-in synchronous data-link
control (SDLC) adapter. In synchronous
34
PC TECH JOLJRNAL
other ingred
n»(;XT.orATU
computer
1 Canon IX-J23W^
I JUSKRFU!.S
with combination!
interface)
It makes desktop publishing
a piece of cake!
Tall Tree Systems
introduces another
breakthrough in desk¬
top publishing with
J17\SER PLUS. We've
combined a 2 MB
EMS memory board
and an interface to
both a Canon®-based
laser printer and
scanner. JLASER PLUS
increases the perfor¬
mance of both devices
and gives you a low-
cost solution to the
limitations you've been
experiencing with
them.
Furthermore, the
same memory that is
made available to
your printer and scan¬
ner is also available for
all your other conven¬
tional applications.
You get system mem¬
ory, expanded LIM
memory, extended
memory in an AT-type
machine, RAM Disk
and print spooler —
all in a single slot!
Supporting JLASER
PLUS is a host of soft¬
ware packages, such
as PC Paintbrush -i-
mtm'
from
ZSoft,
Dr. Halo D.P.E.
from Media Cyber¬
netics, LaserGL from
Software Express,
Ventura Publisher from
Xerox, Page Builder
from White Sciences,
Le Print from Le Baugh
Software, Fancy Font
and Fancy Word from
SoftCraft, Inc., and
many more
to be announced.
It takes a techno¬
logical innovator like
Tall Tree
Systems to
provide a major
advancement like
JLASER PLUS. And
we don't stop at
performance. We also
deliver value, which is
truly icing on the cake.
TALL TREE SYSTEMS
2585 E. Bayshore Road
Palo Alto, CA 94303
1415) 493-1980
Telex; 9102404041
CIRCLE NO. 194 ON READER SERVICE CARD
miL TREE SYSTEMS
Canon is a registered trademark of Canon, Inc. All software packages listed are trademarks of their re^ective companies.
© 1986 by Tall Tree Systems. All rights reserved.
Monitor/7.U, Amclek's VGA-compatible color monitor ^86/AT Board with CS8230-20 AT/386 CHlPSet from Oiips and Tedmolopies
mode, it functions as a Bell 201C mo¬
dem at 2400 bps (bits per second), and
in asynchronous mode, it functions as a
Bell 212A modem at 300, 1200, or 2400
bps, and supports the Hayes AT com¬
mand set. NSA offers a full line of com¬
munications software programs for syn¬
chronous communications, including,
FC-to-PC, PC-to-minicomputer, and PC-
to-mainframe. The AdaptModem s auto¬
matic call control (ACC) softw^are mod¬
ule is a standard feature that provides a
number of dialing facilities for synchro¬
nous applications including automatic
dialing, answering, and redialing; auto¬
matic phone-line and modem testing;
modem configuration options; and a
call directon'. $995.
Network Software Associates, Inc.,
22982 Mill Creek, Laguna Hills, CA
92653: 7141768-4013
CIRCLE 311 ON READER SERVICE CARD
TECHNOLOGY
The CS8230-20 AT/386 CHIPSet
Chips and Technologies (C&T) has
been upgraded to operate at more than
mace the speed (20 MHz), use one-
third less board space, and consume
one-third the power of the original
PC/AT system. The timing of all seven
chips in the CHIPSet has been im¬
proved and C&T has reimplemented
the two Data Bus Buffers in Bi-CMOS
technolog\^ which is faster than its bi¬
polar ALS counterpart. The upgraded
CHIPSet also is incorporated in the
386/AT Board for developers. CS8230-
20, $141.50 (in quantities of 1,000);
386/AT Board, $2,995.00
The CS8220-10/12 PC/AT CHIP¬
Set from C&T incorporates an ad¬
vanced memory' controller that pro¬
vides the dynamic bus-clock-switching
function, enabling a system to run at
full speed for on-board memon^ and
then switch to half-speed for all off-
board memon’ and I/O. It also sup¬
ports veiy large memory configurations
from 1MB to 4MB on the system board.
This CHIPSet also is incorporated in
the 286/AT Board for developers.
CS8220-10/12, $51.60 (in quantities of
1,000); 286/AT Board, $1,495.00.
The 82C437 SharpScan from
C&T is an IBM EGA-compatible graph¬
ics chip that provides l,128-by-560 line
resolution for clearer text. Using a
Cc-T's ShaipScan EGA with 82C437 graphics chip
pixel-multiplexing function that enables
users to trade off the number of colors
available (4 instead of 16) for higher
resolution, the SharpScan can display
300 percent more information on a
screen. Users can switch between high
resolution and normal EGA, depending
on their application requirements. The
SharpScan chip also is present on the
SharpScan EGA board for developers.
82C437, $6.70 (in quantities of 1,000);
SharpScan EGA, $695.00.
Chips and Technologies, Inc., 521
Cottonwood Drive, Milpitas, CA 95035;
408/434-0600
CIRCLE 312 ON READER SERVICE CARD
PERIPHERALS
An add-on memor\^ board that operates
at the advanced RAM storage and speed
levels of the Compaq Deskpro 386 is
available from Computer Peripher¬
als, Inc. The 386 Memoire operates
in the host’s 32-bit mode at speeds as
fast as 16 MHz with zero wait states. A
25-pin connector matches the unique
built-in connector in the Deskpro 386,
providing access to its 32-bit memory.
1MB, $845; 2MB, $1,395.
Cotnputer Peripherals, Me., 2635
Laveiy Court, Suite 5, Newbwy Park,
CA 91320; 800/854-7600, in Califor¬
nia, 805/499-5751
CIRCLE 315 ON READER SERVICE CARD
A family of color and monochrome
computer monitors fully compatible
with the IBM Video Graphics Array
(VGA) standard has been introduced by
Amdek Corporation. Amdek’s Moni¬
tor/432 monochrome monitor and
Monitor/732 color monitor offer three
resolution modes: 640 by 480 pixels
(VGA), 640 by 400 (CGA double-
scanned), and 640 by 350 (EGA). The
Amdek monitors produce an analog
video input signal and feature a high¬
speed horizontal scan frequenq^ of
31.48 KI4z. The Monitor/432 mono¬
chrome monitor features a 14-inch di¬
agonal display, antiglare flat screen
with a choice of paper white or amber
phosphor. The Monitor/732 color moni¬
tor has a 12-inch antiglare screen with
0.28mm-dot pitch. Both monitors fea¬
ture vertical-scan frequency of 50, 60,
and 70 Hz, and a tilt-and-swivel stand.
Monitor/432, $245; Monitor/732, $625.
Amdek Coiporation, 1901 Zanker
Road, San Jose, CA 95112;
408/436-8570
CIRCLE 317 ON READER SERMCE CARD
An enhanced version of the AT_Meg
memor\’ expansion board has been
announced by PBJ, Inc. The AT_Meg
provides up to 8MB of extended or
expanded memoiy on a single board.
The board runs at zero wait states on
6/8-MHz machines and at one wait state
on 10- or 12-MHz machines. Using sin¬
gle in-line memoiy modules (SIMMs),
the AT__Meg provides both high-densiy
packaging through surface mount tech¬
nology’, plus the ability' to upgrade
using PC board plug-in modules. In-
36
PC TECH JOURNAL
'EnhdtHfd'
■ColorDhpi
SigmaVGA bridges the graphics generation gap
True VGA Graphics... Delivered.
Forget the promises or the confusion. Sigma
Designs cuts through the smokescreen of
competing claims with the definitive VGA
solution, including Mode 13. Introducing
SigmaVGA, the high resolution graphics dis¬
play adaptor that provides 100% VGA BIOS-
level compatibility for the PC, XT, AT and
compatibles. SigmaVGA delivers the future
generation of PS/2 graphics software without
compromising your ability to run existing
programs. And it’s available right now!
More Graphics Flexibility Than
Ever Before.
There’s no need to sacrifice your existing
hardware investment or access to popular
graphics modes in exchange for VGA capabil¬
ity. With SigmaVGA, you can have it all:
More Colors—A demonstrated spectrum
of 256 colors out of a palette of 256,000.
Now its easier than ever before to represent
complex information, execute designs or
create intensely vivid presentations.
More Displays and Emulations—
SigmaVGA drives digital, analog and multi¬
sync monitors and provides EGA, CGA, MDA
and Hercules Graphics emulations.
200,000+ EGA Boards Installed.
A proven leader in the field. Sigma Designs
has been supplying advanced graphics hard¬
ware to major OEM customers. Now you can
take advantage of this superior technology.
To find out more about SigmaVGA or other
advanced Sigma Designs products, see your
local dealer or call 415-770-0100.
S I G M A'
IBM is a registere<I trademark (if Inlematiiial Business Machines. Hercules
Graphics is a Irajlemark of Hercules Ccimpuler Technology, Inc.
CIRCLE NO. 202 ON READER SERVICE CARD
SIGMAVGA
VGA Enhanced Display Modes
• 320 X 200 X 256 Colors (Mode 13)
Out of a palette of 256,000 colors
• 640 X 480 X 16 Colors
More resolution than ever before
• 720 X 400 X 16 Colors or Gray Scales
Easy reading 9 x 16 matrix in text mode
Emulation Modes
EGA, CGA, MDA, Hercules
Monitors Supported
• IBM PS/2 Monochrome Display 8503
• IBM PS/2 Color Display 8512,8513
• NEC MultiSync (analog and digital modes)
• Princeton HX12E
• Compatible analog and digital monitors, both
monochrome and color
Sigma Designs Inc.
46501 Landing Parkway
Fremont, CA 94538
Telex 171248
Fax 415-770-0100
DESIGNS
MultiSync is a trademark of NEC Coqmration.
HXI2E is a trademark of Princeton Graphic Systems, Inc.
TECH RELEASES
SQLBase 3-2 from Gupta Technologies, Inc.
CodeView debugging screen in Microsoft C Optimizing Compiler 5.0
eluded with the AT_Meg board is an
Expanded Memory Manager (EMM)
Driver that supports expanded memory
applications and a RAM-disk program.
Prices range from $579 for a 2MB
board using 256KB modules to $1,999
for a full SMB board.
PBJ Inc., 503 E. 40th Street, Paterson,
NJ 07504; 201/523-8663
CIRCLE 314 ON READER SERVICE CARD
DATABASE MANAGEMENT
An enhanced version of Gupta Tech¬
nologies, Inc.’s distributed database
management system for PC LANs has
been released. SQLBase version 3.2
features a complete implementation of
the structured query language (SQL)
and runs on IBM PCs under DOS 3.2.
It transforms one or more IBM PC/ATs
into high-performance, relational data¬
base servers that can be accessed by
multiple PCs running on the IBM
Token-Ring Network. The system also
operates on any NETBIOS-compatible
networks, including Novell’s Advanced
Netware and 3Com’s 3Plus. It includes
a C application programming interface
for Microsoft Windows. Multiuser devel¬
opment toolkit, $1,995 per server;
single-user version, $995.
Gupta Technologies, Inc., 1040 Marsh
Road, Suite 240, Menlo Park, CA
94025; 415/321-9500
CIRCLE 318 ON READER SERVICE CARD
A software technology licensing agree¬
ment has been reached between Ap¬
plied Data Research, Inc. (ADR) and
Software Systems Technology, Inc.
(SST). Under this agreement, ADR will
acquire the software technology for
XDB, SST’s relational database manage¬
ment system for IBM PCs, LANs and
other minicomputer and microcom¬
puter systems. With this agreement,
ADR obtains a worldwide license to
develop software products incorporat¬
ing XDB technology. A system based on
the structured query language (SQL),
XDB gives ADR a full-function SQL ca¬
pability for its DATACOM/DB database
management system in LAN and PC
environments. XDB offers a complete
implementation of the current ANSI
standard. XDB’s end-user information
management features include a report
writer, forms manager, menu genera¬
tor, and an import/export facility for
transferring data from other files. ADR
plans to incorporate these features in
its existing end-user information man¬
agement products, such as dataquery.
Implied Data Research, Inc., Route 206
and Orchard Road, CN-8, Princeton, NJ
08540-0008; 201/874-9000
CIRCLE 319 ON READER SERVICE CARD
Software Systems Technology^, Me.,
7100 Baltimore Avenue, Suite 206,
College Park, MD 20740;
301/779-5486
CIRCLE 320 ON READER SERVICE CARD
SOFTWARE DEVELOPMENT
A library for building programs with
Borland’s Turbo C compiler is available
from Blaise Computing, Inc. The
Turbo C TOOLS library of compiled C
functions allows the programmer to
have full control over the PC, the video
environment, and the file system. The
library comes with well-documented
source code that can be studied, emu¬
lated, or adapted to specific needs. Fea¬
tures include the use of function proto¬
typing, prebuilt libraries for all mem¬
ory models, cleanly organized header
files, and a comprehensive, fully in¬
dexed manual. Runtime files generated
using Turbo C tools do not require
royalty payments. $129.
Blaise Computing Inc., 2560 Ninth
Street, Suite 316, Berkeley^, CA 94710;
800/333-8087; in California,
415/540-5441
CIRCLE 326 ON READER SERVICE CARD
Two versions of Microsoft C language
compiler, Microsoft QuickC and
Microsoft C Optimizing Compiler
version 5.0, are available from Micro¬
soft Corporation. QuickC comes with
an integrated editor, compiler, MAKE
facility, and source-level debugger, ex¬
tensive documentation, which includes
a tutorial and a context-sensitive, on¬
line help facility. Microsoft C Optimiz¬
ing Compiler includes tlie QuickC in¬
memory compiler and the advanced
optimizing compiler to enable pro¬
grammers to develop prototypes
quickly and then optimize them. Ver¬
sion 5.0 gives users the choice of two
source-level debuggers: the integrated
QuickC debugger for quick debugging
while prototyping, and the enhanced
CodeView debugger (version 1.11) for
more complex debugging. QuickC and
Version 5.0 are completely source- and
object-level compatible; QuickC emits
CodeView-compatible executable files.
Microsoft QuickC, $99; Microsoft C
Optimizing Compiler 5.0, $450; update
from 4.0 to 5.0, $75.
Microsoft also announced the first
release of its MS-OS/2 Software De¬
velopment Kit (SDK), which allows
software developers to begin the pro¬
gression of moving applications soft¬
ware to the new MS-OS/2 environment
for 80286 and 80386-based personal
computers. The developer’s toolkit con¬
tains a prerelease version of the MS-
OS/2 system kernel and technical speci¬
fications for the kernel and the MS-
OS/2 LAN Manager. Also included are
MS-OS/2 versions of Microsoft’s macro
assembler (MASM) and C language
compilers, the Microsoft CodeView
debugger, and other software develop¬
ment tools (including a program edi¬
tor). In addition to a software and tech¬
nical seminar, the development toolkit
includes a one-year license for Micro¬
soft’s Direct Information Access Line
(DIAL) system, an electronic mail tech¬
nical support service, and a one-year
38
PC TECH JOURNAL
Make $ 50 (yhr»
dBMAM
fi/ePro 16
CIRCLE NO. 153 ON READER SERVICE CARD
Now develop DBMS applications 10 times faster for
only $199 with MAGIC PC — or your money back!
Database programmers, why waste your
time hacking out code?
Imagine how much faster and more profit¬
able you’d be if you could whip up power¬
ful database applications without the
time-consuming coding pains...
Introducing Magic PC from Aker, your pro¬
fessional dream come true. It’s not
another line-by-line syntax treadmill like
any DBMS or 4GL.
Finally you can program as quickly as you
design, while you delegate all the mun¬
dane and redundant coding tasks to
Magic PC.
Program 10 times faster
Develop
relational
database
applications
10 times fas¬
ter using a
visual
design-
driven inter¬
face. Instead of writing mountains of "how
to” procedural code, you quickly place your
program design specs in Execution Tables
and Magic PC’s engine executes them auto¬
matically. Don’t lose any more time editing
and debugging programs by hand.
Incredible Zoom power
Magic PC’s
pheno¬
menal
Zoom
power mag¬
ically co¬
executes
related
programs
through nested Zoom windows smoothly
with auto data scrolling in all directions.
While Zooming, query and transfer data
across windows or even Zoom deeper.
No more maintenance!
Change your programs on the fly without
any manual maintenance responsibility.
Magic PC automatically updates your
changes online since all the data describing
your design (data dictionary, programs and
menus) make up a single file, self-
maintaining Integrated Library.
Magic PC does it all
Design your entire database application
with only one comprehensive develop¬
ment system. Generate both online
programs (screens, windows,
menus), as well as batch pro¬
grams (reports, updates.
import/export, etc.) with full color and gra¬
phics. You no longer fall between the cracks
dealing with separate and inconsistent
programming utilities.
Free LAN features
Develop multi-user applications for
local area networks with Magic PC's
automatic support for file and
record locking security.
Quick prototyping
Prototype a complete working application
in just hours and get immediate customer
feedback to finalize the design. It’s a true
time-saver.
Stand-alone runtime
Distribute your applications and protect
your design with a low cost runtime engine.
It has the friendliest end-user visual inter¬
face you’ve ever seen with built-in, menu-
driven and syntax-free data retrieval power.
Jeff Duntemann, PC Tech Journal:
"Magic PC is probably the best integrated
database application generator that we
have seen ... very smooth system, and
smoothness comes at a premium these
days." Also recommended by PC Magazine,
PC World, PC Week, Computer Language,
Data Based Advisor and many more around
the world.
Try It for $19^5
If you develop database applications for a
living, you can’t afford not to try Magic PC for
yourself right now. For $ 19.95 you’ll get the
Magic PC Tutorial software and documenta¬
tion for hands-on evaluation, complete with
a step-by-step guide to develop an Order
Entry sample application In just a few
ho.urs.
Magic PC $199
No kidding! For a limited time only, save
almost $500 off the $695 list price, and get
the complete unprotected Magic PC soft¬
ware for only $ 199 at our special introduc¬
tory non-resale price.
Money back guarantee
Even at $ 199 you can’t go wrong with our no-
risk guarantee; keep it only if it makes
magic for you, or we’ll buy it back
within 30 days less $19.95
restocking fee.
System Requirements:
IBM PC. XT AT, PS/2
and 100% compatible,
PC-DOS 2.0 or later.
'jDK. hard disk. All
trademarks
acknowledged.
MAGIC PC
Database Language
The
COBOU2 Software Developntettt Kit from Micro Focus
subscription to the Microsoft Systems
Journal. MS-OS/2 SDK, $3,000.
Microsoft Corporation, 16011 N.E. 36th
Way, P.O. Box 97017, Redmond, WA
98073-9717; 8001426-9400; in Wash¬
ington and Alaska, 2061882-8088
CIRCLE 321 ON READER SERVICE CARD
A pre-release version of the Lattice
OS/2 C Compiler has been an¬
nounced by Lattice, Inc. This com¬
piler allows mixed memory models
and direct calls to the operating system.
It eliminates the 64KB static data limita¬
tion, and it gives an option to make the
default integer size 32 bits. The com¬
piler features an extensively reworked
library and expanded manuals, which
include information designed to help
programmers take advantage of OS/2’s
advanced features. Available only as an
upgrade to Lattice C 3.2, this version
includes all prerelease updates and a
copy of the production version, $150.
Lattice Inc., 2500 S. Highland Avenue,
Lombard, IL 60148; 800/533-3577; in
Illinois, 312/916-1600
CIRCLE 327 ON READER SERVICE CARD
Designed for DOS and OS/2 applica¬
tions, the COBOL/2 Software Devel¬
opment Kit (SDK) has been released
by Micro Focus. The Micro Focus
COBOL/2 compiler, featured in SDK,
features the ability to bring existing
COBOL code from a non-DOS environ¬
ment, support of nine COBOL dialects,
and a broad implementation of the
COBOL language. COBOL/2 compiles
ANSI 74 and ANSI 85 COBOL, OS/VS
and VS COBOL IL Micro Focus Level II
COBOL, RM/COBOL, DG Interactive
COBOL, IBM PC COBOL version 1, and
IBM’s Systems Application Architecture
standard. The COBOL/2 compiler also
eases the tasks of migrating COBOL
source code through its 32-bit address¬
ing architecture. Standard features in¬
clude network support. Micro Focus
ANIMATOR visual debugging tool, call in¬
terfaces to C and other languages, and
copies of the Microsoft Linker and Li¬
brary Manager. The SDK also includes
XM, an extended memory program for
writing protect mode applications
under DOS; Xilerator, a object code
debugger that displays both assembly
language and COBOL; Panels, which
helps in creating overlapping windows
in COBOL; the COBOL/2 Editor; and
the Resident Run-Time System, with
advanced program management fea¬
tures. COBOL/2 SDK, $1,500; COBOiy2
compiler alone, $900.
Micro Focus, 2465 E. Bayshore Road,
Palo Alto, CA 94303; 800/872-6265; in
California, 415/856-4161
CIRCLE 322 ON READER SERVICE CARD
A PC-based AI environment is available
from MicroProducts, Inc. that offers
virtual memory. PowerLisp can de¬
velop and run professional 60MB appli¬
cations with the speed, power, and per¬
formance of a symbolic processor on a
PC/AT or 80386-based machine with
3MB of RAM and a 40MB hard disk.
PowerLisp is the complete implementa¬
tion of InterLisp and contains many of
the features of Common LISP, such as
packages, multiple-value returns, and
catch-and-throw forms. PowerLisp is a
complete LISP programming environ¬
ment that features an efficient optimiz¬
ing compiler. PowerLisp contains a
debugging program, a structure editor,
and Masterscope, a static-program ana¬
lyzer that allows the developer to find
and edit every place in the program
where a given function is called or
where references are made to specific
variables, object, or properties. Pro¬
gram editing features allow for editing
and individually recompiling functions,
including the ability to put breakpoints
in functions as well as trace them, and
print variable and stack bindings.
Also available is Power-Ex, a ex¬
pert system shell developed at Stanford
University under the name EMYCIN, is
PowerLisp AI environmettt from MicroProducts, Inc.
an optional development tool. 286 ver¬
sion of PowerLisp, $1,195; with a 3MB
expansion board, $1,695; 80386 version,
$1,695; Power-Ex (when purchased
with PowerLisp), $500.
MicroProducts, Inc., 370 W. Camino
Gardens Blvd, Boca Raton, EL 33432;
800/553-0777; in Florida,
305/392-9800
CIRCLE 324 ON READER SERVICE CARD
A spreadsheet compiler has been intro¬
duced by SoftLogic Solutions, Inc.
The program, ©Liberty, enables users
to create and distribute executable
spreadsheet applications that can be
run without the original spreadsheet
program for as little as $10 per user.
Using proprietary software technology,
©Liberty separates the tasks of spread¬
sheet development and usage so devel¬
opers can create a spreadsheet applica¬
tion or template using popular pro¬
grams (such as Lotus 1-2-3 and Sym¬
phony, Microsoft’s Multiplan, and Com¬
puter Associates International’s Super-
Calc4) and distribute executable, run¬
time files. End-users can run the
©Liberty-compiled spreadsheet without
the original spreadsheet program to
enter and modify specified data, calcu¬
late results and export data back to the
original spreadsheet. All formulas are
invisible to and are protected from
modification or destruction by the user.
Licensing plan in which the developer
can distribute ©Liberty-compiled
spreadsheets and documentation for 10
users, $99.95; refill pack and 15 more
user licenses, $99.95.
SoftLogic Solutions, Inc., One Perimetei'
Road, Manchester, NH 03103;
800/272-9900; in New Hampshire,
603/627-9900
CIRCLE 325 ON READER SERVICE CARD I 'linMiiii ffil
The material that appears in Tech Releases
is based on vendor-supplied information.
These products have not been reviewed by
the PC Tech Journal editorial staff.
40
PC TECH JOURNAL
We're Programmer's Connec¬
tion, your best one-stop
source for quality program¬
mer's development tools for
IBM personal computers and
compatibles. Here are some
important facts you should
know about us and other
dealers in our industry.
FAa:
FREE Shipping. Shipping to U.S.
customers is FREE via UPS Ground.
If you want your order shipped via
an express service, we'll only charge
you the shipping carrier's standard
rate with no special fees. Some
dealers charge extra for shipping
and then add rush charges for ship¬
ping via express services. Others
may advertise "free" shipping but
make up for it by charging extra
handling fees.
FAa:
Credit Cards. We'll charge your
credit card only when we actually
ship your order. Some dealers would
charge your credit card at the time
you place your order. This could
leave you waiting for your shipment
for weeks or months while they use
your money interest-free.
FAa:
Discounts. We discount all software
products — even special order
items. Every product in our adver¬
tised price list is shown with its list
price and discounted price. We want
you to know exactly how much you'll
save on every product We don't try
to fool you by discounting some
products and charging full retail for
others.
FAa:
Consistent Prices. We extend the
same current prices to every cus¬
tomer regardless of where they see
our ad. Some dealers vary prices in
different ads and then ask you to
mention which one you saw. This
technique allows them to charge
you the highest prices possible.
FAa:
No Hidden Charges. The discount
prices you see on the next two
pages are all you pay. We don't
charge extra for UPS Ground ship¬
ping, credit cards, COD orders, pur¬
chase orders, sales tax (except Ohio)
or special handling (except for non-
Canadian international orders).
FAa:
Guarantees. We offer FREE 30-day
no-risk return guarantees and 30-
day evaluation periods on most of
our products. Some dealers have
no return options while others often
charge restocking fees of 15% or
more.
FAa:
Quality Products. Our product line
consists of hundreds of high quality
software developrhent tools speci¬
fically for IBM Personal Computers
and compatibles. While some deal¬
ers tty to cany every software prod¬
uct ever written, we carry only those
that meet our very high standards
for quality and value.
FAa:
Latest Versions. The products we
carry are the latest versions and
come with the same manufacturer's
technical support as if buying direct
While some dealers may participate
in the software gray market, we're
authorized to sell every product we
carry.
FAa:
Large Inventory. We have one of
the largest inventories of program¬
mer's development products in the
industry. Most orders are shipped
within 24 hours. And if we don't have
a product in stock, we'll get it for you
fast
Turn the page for our product list and ordering Information.
FAa:
Meticulous Packaging. We'll give
your shipment the extra protection
needed to reach you in the best
possible condition. First we'll pro-
tectyour products from moisture by
wrapping them in plastic. Then we'll
insulate your box with high quality
bubble-wrapping instead of the
messy styrofoam chips that many
other dealers use. Finally, we'll
double-tape your box for extra
strength.
FAa:
Independence. Since we're not di¬
rectly affiliated with any software
publisher or developer, we c.an give
you sound, unbiased advice. Unlike
some dealers who have a special
interest in promoting only certain
products, we'll give you an objective
look at the products we carry.
FAa:
Noncommissioned Staff. Our
courteous sales staff is always ready
to help you. And if you aren't sure
about your needs, our knowledge¬
able technical staff can give you
sound, objective advice. Because
they are noncommissioned, you
won't be pressured into making a
purchase.
As you can see, we're different
from the other dealers in our
industiy. Our customers keep
coming back because we con¬
sistently provide the highest
quality service and the lowest
prices. So call us today and
e}q>erience the differences for
yourself.
CIRCLE NO. 175 ON READER SERVICE CARD
ai - expert systems
List
Ours
1 st-CLASS Ay Programs in Motion .
495
399
EXSYS Development Software by EXSYS .
395
309
EXSYS Runtime System.
600
469
Logic-Line Series AH varieties by Thunderstone..
CALL
CALL
ai - lisp language
GCLISP Golden Common USP by Gold Hill .
495
CALL
GCLISP 286 Developer by Gold Hill .
1190
CALL
Microsoft LISP Common USP .
250
149
QNIAL Combines USP & APL byNIAL Systems ..
CALL
CALL
TransLISP PLUS from Solution Systems .
195
125
ai - Prolog language
Arity Combination Package .
1095
979
Expert System Development Pkg.
295
229
File Interchange Toolkit.
50
44
PROLOG Compiler & Interpreter.
650
569
Screen Design Toolkit.
50
44
SQL Development Package.
295
229
Arity PROLOG Interpreter.
295
229
Arity Standard Prolog .
95
77
LPA microPROLOG AH Varieties .
CALL
CALL
MPROLOG Language Pxmex LDGICWARE .
50
45
MPROLOG P500 byLDGICWARE .
495
395
MPROLOG P550 byLDGICWARE .
220
175
Turbo PROLOG by Borland Inti .
100
64
Turbo PROLOG Toolbox Ay £a/'/d/7////7//.
100
64
ai - Smalltalk language
Smalltalk/V.
99
84
EGA/VGA Color Option.
50
45
Goodies Diskette.
50
45
Smalltalk/Comm.
50
45
ai - texas instruments
Arborist Decision Tree Software .
595
519
PC Scheme Lisp .
95
84
Personal Consultant Easy.
495
435
Personal Consultant Image.
495
435
Personal Consultant Online .
995
869
Personal Consultant Plus.
2950
2589
Personal Consultant Runtime.
95
84
ada language
AdaVantage Ay Meridian Software Systems .
795
735
AdaVantage Utility Packages.
CALL
CALL
DOS Environment Package .
. New
50
47
Janus/ADA C Pak Ay R&R Software .
95
84
Janus/ADA 0 Pak by R&R Software .
1250
1059
Janus/ADA ED Pak by R&R Software .
395
349
apl language
APL-PLUS/PCAy^TSZ:.
595
424
APL*PLUS/PC Spreadsheet Mgr bySTSC .
195
139
APL-PLUS/PC Tools Vol 1 bySTSC .
295
199
APL*PLUS/PCTools Vol2Ay57’5£.
85
58
ATLAS‘GRAPHICS Ay 575£.
450
329
Financial/Statistical Library Ay .
275
189
Pocket APL Ay .
95
69
STATGRAPHICSAy^TS/:.
795
579
assembly language
Cross Asm by Phar Lap .
495
389
8088 Assembler w/Z-8D Translator by 25D0 AD .
100
89
ASMLIB Function Library by BC Assoc .
149
125
asmTREE B-Tree Dev System by BC Assoc .
395
329
Cross Assemblers Various by 2500 AD .
CALL
CALL
EZASM Ay C Source .
. New
70
64
Microsoft Macro Assembler. New Version
150
93
Norton Utilities by Peter Norton .
100
CALL
Norton Utilities (Advanced) ..
150
99
Turbo Debugger bySpeedware ..
. New
89
79
Turbo Editasm bySpeedware ..
99
84
Visible Computer: 80286 ..
. New
100
89
Visible Computer: 8088 by Software Masters _
80
64
basic language
87 Software Pak Ay Hauppauge .
180
149
db/Lib for QuickBASIC by AJS Publishing .
, New
99
89
EXIM Services Toolkit Ay £A74f.
50
45
Finally Ay Komputerwerks .
99
85
MACH2Ay4f/i:/o//e//7 .
69
55
Microsoft QuickBASIC. $20 Rebate Offer
99
63
QBase Relational Database by Crescent .
New
89
79
Quick-Tools Ay BC Associates .
130
109
QuickPak Ay Crescent Software .
69
59
Scientific Subroutine Uhxavi by Peerless .
125
99
Screen Sculptor Ay Software Bottling .
125
91
Stay-Res by MicroHelp .
69
55
True Basic w/Run-time . Special Price
200
99
True Basic.
100
79
Run-time Module.
100
79
Various Utilities .
50
41
Turbo BASIC Zom\i\\ex by Borland Inti .
100
64
blaise products
ASYNCH mHhZUX Specify Cor Pascal .
175
135
C TQQLS PLUS.
175
135
LIGHT TQQLS forDatalight C . Special Price
100
65
PASCALTQQLS .
125
99
PASCAL TQQLS 2.
100
79
PASCAL TQQLS 8i TQQLS 2.
175
135
RUNQFF Text Formatter .
50
45
TURBQ ASYNCH PLUS.
100
79
TURBQC TQQLS .
129
CALL
TURBQ PQWER TQQLS PLUS.
100
79
VIEW MANAGER Specify C or Pascal .
275
199
borland products
EUREKA Equation Solver .
167
105
Reflex & Reflex Workshop.
200
128
Reflex Data Base System .
150
89
Reflex Workshop.
70
45
Sidekick 8i Traveling Sidekick.
125
85
Sidekick.
85
57
Traveling Sidekick.
70
45
Superkey .
100
64
Turbo BASIC Compiler.
100
64
Turbo BASIC Database Toolbox.
100
64
Turbo BASIC Editor Toolbox.
100
64
Turbo BASIC Telecom Toolbox.
100
64
Turbo C Compiler (Call for support products) ...
100
64
Turbo Database Toolbox.
70
41
Turbo Editor Toolbox.
70
41
Turbo Gameworks Toolbox.
70
41
Turbo Graphix Toolbox.
70
41
Turbo Jumbo Pack.
300
219
Turbo Lightning.
100
64
Turbo PASCAL Numerical Methods Toolbox ...
100
64
Turbo PASCAL and Tutor.
125
85
Turbo PASCAL .
100
64
Turbo Tutor.
40
24
Turbo PROLOG Compiler.
100
64
Turbo PROLOG Toolbox.
100
64
Word Wizard.
70
47
Word Wizard and Turbo Lightning.
150
94
c compilers
C86PLUS by Computer Innovations .
497
375
DeSmet C w/Debugger & Large case ...
209
184
DeSmet C w/Debugger only .
159
138
Eco-C Complete System by Ecosoft .
140
119
Lattice C Compiler vers. 3.2 from Lattice
500
265
Mark Williams Let's C w/csd.
125
99
Microsoft C Compiler w/CodeView ....
. .New version
450
269
Microsoft QuickC Compiler.
99
63
Optimum-C by Datalight .
139
105
Turbo C Compiler by Borland .
100
64
Uniware 68000/10/20 Cross Compiler bySDS
995
829
c interpreters
C-terp by Gimpel, Specify compiler .
. New Version
300
219
C Trainer with Book by Catalytix .
122
87
Instant C by Rational Systems .
. New Version
500
369
Introducing C by Computer Innovations ..
125
99
Rm/Z by Age of Reason .
120
69
Run/C Professional by Age of Reason ...
250
145
c Utilities
C++ by Guidelines w/version /. / kernel ..
195
172
Csharp Realtime Toolkit by Systems Guild
600
539
c-tree & r-tree Combo by FairCom .
650
519
c-tree ISAM File Manager .
395
315
x-Xxee Report Generator .
295
239
ZaXa'NmAovn by Magus Inc .
245
209
with Source Code .
595
499
dBx dBASE to C Translator by Desktop A!
350
299
with Source Code .
550
469
Flash-up Windows by Software Bottling ..
90
78
Graphic Color version by SciEndeavors. ..
350
282
ZRMl\R by Sutrasoft .
175
159
HALO Graphics by Media Cybernetics ....
300
205
HALO Development Pkg for Microsoft....
595
389
The HAMMER by DES Systems .
195
129
PANEL Forms Management by Roundhill..
295
215
PANEL/TC for Turbo C by Roundhill .
129
95
PANEL Plus by Roundhill .
495
395
PC Lint by Gimpel Software .
139
99
PLOTHP by Sutrasoft .
175
159
RTC PLUS Fortran to C by Cobalt Blue ...
450
399
Scientific Subroutine Uhxax^ by Peerless .
175
135
TE Text Editor source by Sub Systems ...
. New
95
85
Vitamin C by Creative Programming .
225
158
VC Screen Forms Designer .
100
79
Zview by Data Mgmt Consultants .
245
139
cobol language
COBOLspil byFlexus .
395
329
FPLIB for Realia CDBDL by BC Associates.
149
129
Mjcro Focus COBOL See Micro Focus Section
Microsoft COBOL See Microsoft Section
PCDT by Pro-Code .
. New
995
895
Realia COBOL with RealMENU.
New Version
1145
899
Realia COBOL.
New Version
995
783
RealCICS.
995
783
RM/COBOL by Ryan-McFarland .
950
CALL
RtH/ZQROLB5 by Ryan-McFarland .
1250
CALL
SCREENIO ^y/Yorco/n.
. New
400
379
screenplay for CDBDL by Flexus .
175
129
CSS products
Combo Package by Custom Software Systems ...,
. New
199
175
PC/SPELL Spelling Checker .
49
45
PC/TOOLS UNIX-like UtilHies .
49
45
PC/VI viEditor .
149
99
debuggers profilers
386 DEBUG Cross Debugger by Phar Lap .
195
129
Advanced Trace-86 by Morgan Computing
175
115
Codesmith-86 by Visual Age .
145
98
DSD87 by Soft Advances .
125
79
MiniProbe Ay>1//o/7.
395
369
Periscope 1 with Board by Periscope .
345
289
Periscope II with NM! Breakout Switch ....
175
139
Periscope ll-X Software only .
145
105
Periscope III 8 MHz version .
995
799
Periscope III 10 MHz version .
1095
899
The PROFILER with Source CodebyDWB..
125
89
TURBOsmith Source debugger for Turbo Pascal...
69
59
The WATCHER Profiler by Stony Brook....
60
51
disk utilities
Back-lt by Gazelle Systems .
100
89
Disk Optimizer by Softlogic Systems .
60
55
FASTBACK by 5th Generation Systems....
179
129
Vcache by Golden Bow Systems .
New
50
47
Vopt by Golden Bow Systems .
New
50
47
Vfeature by Golden Bow Systems .
New
80
74
Vfeature Deluxe by Golden Bow Systems ..
New
120
111
XenoCopy-PC by XenoSoft .
80
69
dos utilities
Command Plus by ESP Software . 80 69
FANSI-CONSOLEA/Z/e/se/Af/iTAO. 75 62
MicroHelp Utilities A/Af/c/o//e//7 . 59 49
Norton Commander A//’e/e/'^o/ro/7. 75 CALL
Shell Language by Software Factory . 99 89
Q-DOS II by Gazelle Systems . 70 59
lasMeyn by Sunny Hill Software . 80 55
essential products
C Utili^ Library. 185 119
Essential Comm Library with Debugger . 250 189
Essential Comm Library 5o/rtvere . 185 125
Breakout Debugger Only Any language . 125 89
Essential Graphics. 250 183
forth language
CFORTH yVa//Ve fez/e/ro/77/7/7e/'A/ZAf/. 300 229
Forth/83 Metacompiler Specify Target . 750 599
PC/Forth by Laboratory Microsystems . 150 109
by Laboratory Microsystems . 250 199
Advanced Color Graphics Support. 100 74
Enhanced Graphics Support. 200 148
Intel 8087 Support . 100 74
Interactive Symbolic Debugger. 100 74
Native Code Dptimizer. 100 74
Software Floating Point. 100 74
UR/Forth Ay ZAf/. 350 279
Object Module Libraries. 500 395
fortran language
50 MORE: FORTRAN by Peerless Scientific . 125 95
Sams by Alpha Computer Service . 495 389
AUTOMATED PROGRAMMER Ay/r/?/r>1y/o/na/e// New CALL CALL
Essential Graphics Ay £see/7//a/5‘eAr»ve/B . 250 183
For-Winds Ay/l//7Aa £'a/77/7i//e/'5emee . 90 69
Forlib-PlusAy/l//>Aa A‘a/77/7a/e/'5eA'/ce. 70 44
FORTLIB Ay5a//asoAr. 125 109
FORTRAN Addendum Ay/a7/7a/5e£a£r/-. 95 85
FORTRAN Addenda Ay Impulse Engr . 165 138
GRMllB by Sutrasoft . 175 159
HALO Graphics by Media Cybernetics . 300 205
I/O PRO w/No Limit Library Ay Af££. 250 219
Microcompatibles Combo Package. 240 215
Grafmatic. 135 117
Plotmatic. 135 117
Microsoft FORTRAN w/CodeView . 450 269
No Limit Library Ay MEF Environmental . 129 109
Numerical Analyst Ay AM5//5. 295 249
PANEL Ay Roundhill Computer Systems . 295 215
PIZTH? by Sutrasoft . 175 159
RM/FORTRAN Ay/?yaa-Afc£a//aa//. 595 CALL
RTC PLUS Fortran to C by Cobalt Blue . 450 399
Scientific Subroutine Lib Ay £aa//aas. • 175 135
by Alpha Computer Service . 295 235
Statlib.GL: Ay/’aa//aaa. New Version 295 239
Statlib.TSF: Ay/’eaz/aas. New Version 295 239
by Alpha Computer Service . 70 45
greenleaf products
Greenleaf Comm Library . 185 125
Greenleaf Data Windows Library. 225 155
with Source Code . 395 249
Greenleaf Functions. 185 125
help utilities
HELP/Control Ay 4fZ?5. 125 99
On-line Help//oa?/7/j/-7aaA. 149 99
SoftScreen/HELP AyZ?/a/ac//c5y5/a/775. 195 149
lattice products
Lattice C Compiler ver 3.2 from Lattice . 500 265
with Library Source Code . 900 495
C Cross Reference Generator. 50 37
with Source Code . 200 139
C-Food Smorgasbord Function Library . 150 95
with Source Code . 300 179
C-Sprite Source Level Debugger . 175 119
Curses 5aaaa Afaaa^a/-. 125 85
with Soufta Code . 250 169
dBC Specify dBC H or dBC III . 250 169
with Source Code . 500 356
dBC III Plus. 750 594
with Source Code . 1500 1184
LMK Make Facility . 195 138
RPG II Combo AH three items below . 1100 875
RPG II Compiler No Royalties . 750 625
RPG II SEU Screen Entry Utility . 250 199
Sort/Merge. 250 199
RPG II Screen Design Aid Utility. 350 309
SecretOisk £/7a £ac/y/7//oa Z///7//y. 120 88
SideTalk Resident Communications . 120 88
SSP/PC Scientific Subroutine Library . 350 269
Text Management Utilities. 120 88
TopView Toolbasket £//aa//aa Z/A/a/y. 250 178
with Source Code . 500 356
metagraphics products
LlghtWINDOW/C/o/'Z?a/aAaA/£. 95 79
FontWINDOW. 95 79
FontWINDOW/PLUS. 275 229
MetaWINDOW/l/o/?oyaZf/aa. 195 159
MetaWINDOW/PLUS. 275 229
TurboWINDOW/C for Turbo C . 95 79
TurboWINDOW/Pascal/a/Ta/Aa/’aaaa/. 95 79
micro focus products
Micro Focus Level II COBOL w/Animator . 495 395
Level II COBOL. 349 279
Level II Animator. 195 155
Micro Focus Level II COBOL/ET for UNIX. CALL CALL
Micro Focus Personal COBOL. 149 119
Micro Focus Professional COBOL. 2000 1595
Micro Focus VS COBOL/XENIX . 1495 1195
Micro Focus Support Products:
COBOL/IQ Ad hoc Report Writer . 495 395
COBOL/IQ for DOS 3.X Networks . 995 795
FORMS-2 . 295 235
SOURCEWRITER. 995 795
microport products
System V/386 Combination. New 799 699
386 Runtime System. New 199 169
386 Software Development System. New 499 429
Text Preparation System. New 199 169
386 Unlimited License Kit. New 249 209
Run DOS and UNIX together . New CALL CALL
System V/AT Combination. 549 465
AT Runtime System. 199 169
AT Software Development System. 249 209
Text Preparation System. 199 169
AT Unlimited License Kit. 249 209
D0SMerge286 Run DOS and UNIX together . New 149 129
microsoft products
Microsoft BASIC Compiler for XENIX . 695 419
Microsoft BASIC Interpreter/or/fMY. 350 209
Microsoft C Compiler w/CodeView . New Version 450 269
Microsoft COBOL Compiler Toofe. 700 429
for XENIX . 995 609
Microsoft FORTRAN Optimizing Compiler/CodeView... 450 269
Microsoft FORTRAN/or/f/lWr. 695 419
Microsoft Learning DOS . 50 36
Microsoft LISP Common USP . 250 149
Microsoft MACH 10 with Mouse & Windows . 549 369
Microsoft MACH 10 Board only . 399 279
Microsoft Macro Assembler. New Version 150 93
Microsoft Mouse/or/BAf ^5/2. New 175 114
Microsoft Mouse Bus Version . 175 114
Microsoft Mouse Soz/o/l/ors/oo. 195 124
Microsoft muMath Includes muSIMP . 300 179
Microsoft Pascal Compiler. 300 179
for XENIX . 695 419
Microsoft QuickBASIC. S20 Rebate Offer 99 63
Microsoft QuickC. New 99 63
Microsoft Sort. 195 125
Microsoft Windows. 99 63
Microsoft Windows Development Kit. 500 299
Microsoft Word. 450 269
modula-S language
IXUIMMASM Interface by PM! . New 49 45
tiiacfol Macro preprocessor by PMI . New 89 79
ModBase by PMI . New 89 79
MODULA-2 Apprentice Pkg by LOGITECH. 99 79
MODULA-2 Magic Pkg by LOGITECH. 99 79
MODULA-2 ROM Pkg & Cross RT Debugger. 299 239
MODULA-2 Window Pkg by LOGITECH. 49 39
MODULA-2 Wizard's Pkg by LOGITECH. 199 159
Repertoire A//W. 89 75
mouse products
LOGIMOUSE BUS with PLUS Pkg by LOGITECH . 119 98
with PLUS & PC Paintbrush . 149 119
with PLUS & CAD Software .. 189 153
with PLUS & CAD & Paint . 219 179
LOGIMOUSE C7 with PLUS Pkg, Specify Connector.... 119 98
with PLUS & PC Paintbrush . 149 119
with PLUS & CAD Software . 189 153
with PLUS & CAD & Paint ... 219 179
Microsoft Mouse See Microsoft Section
Other languages
by Whitewater Group . New 495 419
Single-User by MGIobal . 60 50
ZZSWkfAPZ Single-User Multi-Tasking . 150 129
CCS MUMPS Multi-User . 450 359
Marshal Pascal by Marshal Language Systems . 189 165
Pascal-2 by Oregon Software . 395 325
by Mansfield Software . 125 99
SN0B0L4+ by Catspaw . 95 80
Other products
Zai\iW[Zo^>l by Meridian Technology . New 195 179
Dan Bricklin's Demo Pgm Ay5o/fware ffarr/ez?. 75 57
Dan Bricklin's Demo Tutorial. 50 45
Fast Forward by Mark Williams . New 70 59
First Publisher with Mouse from Logitech . New CALL CALL
\xAmmx AH Varieties by Informix . CALL CALL
Instant Replay by Nostradamus . 150 CALL
Paul Mace Software . New 99 89
MKS Toolkit w/vi Editor by MKS . New Version 139 114
MicroTEX Typesetting from Addison Wesley . 295 CALL
by BC Associates . 149 129
0 PT-Tech Sort A/ Opt-Tech Data Proc . 149 99
PC/TOOLS by Custom Software . 49 45
Screen Machine Ay Af/iE:/io//e//7 . 79 59
phoenix products
Pasm86 Macro Assembler version 2.0 . 195 108
Pdisk Hard Disk & Backup Utility . 145 99
Pfantasy Pac Phoenix Combo . 995 595
PMsh Execution Profiler . 395 209
P6x86plus Symbolic Debugger . 395 209
PforCe Specify C Compiler . 395 209
P\MZe^+Specify C Compiler and C-^-^ . 395 209
?y\x\]xZZ\\\x% Overlay Linker . 495 275
PmaVex Make Utility . 125 78
?ma\e Macro Text Editor . 195 108
?xe-Z Lint Utility . 295 154
?\e\ Binary File Transfer Program . 195 108
polytron products
PolyBoost The Software Accelerator . 80 64
PolyOesklll. 99 72
PolyOesk III Archivist . 50 42
PolyOesk III Cryptographer. 50 42
PolyOesk III Talk. 70 52
?QViU\i\amn Library Manager . 99 89
?oViU\ixzx\an\\ Library Manager . 149 129
PolyMake UNIX-like Make Facility . 149 129
PolyShell. 149 129
Polytron C Beautifier. 50 45
?a\i)kPLU-Complete Cross Ref Utility . 219 185
PolyXREF One language only . 129 109
P^ZZZQX^waXe Version Control System . 395 329
PVCS Personal. 149 129
program mgmt utilities
Interactive EASYFLOW Ay. 150 125
PrintQ by Software Directions . 89 84
Quilt Computing Combo Package. 250 199
QMake Program Rebuild Utility . 99 79
ZWAZ Software Revision Mgmt System . 185 159
Source Print Ay A/r/eAaza/7 ZaAs. 97 75
TWZ Version Control System by Burton . 100 89
Tree Diagrammer Ay>4A/aAa/a/7ZaAs . 77 67
raima products
Single-User Query Utility . 195 129
Single-User with Source Code . 495 389
Multi-User . 495 389
Multi-User with Source Code . 990 699
dbVISTA Single-User DBMS . 195 129
Single-User with Source Code . 495 389
Multi-User . 495 389
Multi-User with Source Code . 990 699
SCO products
Complete XENIX System by SCO . 1295 994
Development System. 595 499
Operating System 5'/;acZ^>i7‘o/-/IT". 595 499
Text Processing Package. 195 144
I'lx’ytbySCO . 595 449
SCO Professional 1-2-3 Workalike for XENIX . 795 595
SCO XENIX-NET. 595 495
softcraft products
Btrieve ISAM Mgr with No Royalties . 245 184
YAx'me Query Utility . 245 184
Report Option/or A'fr/ei'a. 145 99
'BXxme/H for Networks . 595 454
Xtrieve/N. 595 454
Report Option/N/orA'Z//etza//Y. 345 269
text editors
Brief & dBrief Combo Z/o/w 5o/oZ/oo SysZe/ns. 275 CALL
Brief. 195 CALL
dBrief Customizes Brief for dBASE III . 95 CALL
Epsilon Emacs-like editor by Lugaru . 195 147
KEDIT Ay Mansfield Software . 125 98
Micro/SPF by Phaser Systems . 175 139
Microsoft Word. 450 269
PC/VI Ay Custom Software Systems . 149 105
/PZ by Command Technology Corp . CALL CALL
Vedit Plus Ay CompuView . 185 128
turbo pascal utilities
MAZE Interpreter by Software Channels . 95 66
DOS/BIOS 8t Mouse Tools Ay Quinn-Curtis . 75 67
Flash-up Windows Ay Software Bottling . 90 78
MACH 2 for Turbo Pascal by Micro Help . 69 55
MetraByte D/A Tools Ay Quinn-Curtis . 100 89
Science 8i Engrg Tools by Quinn-Curtis . 75 67
Screen Sculptor Ay Software Bottling . . 125 91
Speed Screen by Software Bottling . 35 32
System Builder by Royal American . 150 129
IMPEXZ?oo/yZ/Z/7/7y. 100 89
Report Builder. 130 115
byTurboPowerSoRware . 60 49
TxnaxV. by Tangent Systems . New 80 69
luxbolXimZlP by TurboPower Software . 85 64
Turbo OPTIMIZER Ay TurboPower . 75 65
Itixho OPimiKP with Source Code . 125 108
Turbo Professional Ay 5u/7/7y///7/. 70 45
luxhxi.fXSn by BC Associates . New 100 89
TurboHALO/ra/w/yif5/. 129 98
TurboPower Utilities Ay TA/Ao/’owe/'. 95 78
luxhoPei by Gracon Services . 50 45
JUPBOsxxttih Source Debugger by Visual Age . 69 59
Universal Graphics Library Ay Quinn-Curtis . 150 119
wendin products
Operating System Toolbox. 99 79
PCNX Qperating system . 99 79
PZmS Similar to VAX/VMS . 99 79
Multitasking DQS . New 99 85
TLIZ Text Editor w/Pascal source . 99 75
xenix/unix products
Btrieve ISAM File Mgr by SoftCraft . 595 454
C-terp by GimpeL Specify compiler . 498 379
x:-\xee ISAM Mgr by FairCom . 395 329
dBx with Library Source by Desktop A! . 550 469
Besxynew from Quarterdeck . New 100 85
DOSIX Console Version by Data Basics . 399 349
DOSIX User Version by Data Basics . 199 179
Ixiioxxxiix AH Varieties by Informix . CALL CALL
Micro Focus Products See Micro Focus Section
Microport Products See Microport Section
Microsoft Products See Microsoft Section
PMiP.\.P\\xs by RoundhiH Computer Systems . 795 535
REAL-TOOLS Binary Version byPCT . 149 89
Library Source Version . 399 289
Complete Source Version . 999 729
m/ZZBZl by Ryan-McFarland . 1250 CALL
m/PZBTBMi by Ryan-McFarland . 750 CALL
SCO Products See SCD Section
Call or write for our FREE comprehensive price guide.
©Copyright 1987 Programmer's Connection Incorporated.
LOWEST PRICES
Due to printing lead times, some of our current
prices may differ from those shown here. Call for
latest pricing.
FREE SHIPPING
Orders within the USA (including Alaska & Hawaii)
are shipped FREE via UPS. Express shipping is
available at the shipping carrier's standard rate
with no rush fees or handling charges. To avoid
delays when ordering by mail, please call first to
determine the exact cost of express shipping.
CREDIT CARDS
VISA and MasterCard are accepted at no extra
cost. Your card is charged when your order is
shipped. Mail orders please include credit card
expiration date and authorized signature.
CODs AND POs
CODs and Purchase Orders are accepted at no
extra cost. No personal checks are accepted on
COD orders. POs with net 30-day terms (with initial
minimum order of $ 100) are available to qualified
US accounts only.
SALES TAX
Orders outside of Ohio are not charged state sales
tax. Ohio customers please add 6% Ohio tax or
provide proof of tax-exemption.
INTERNATIONAL ORDERS
Shipping charges for International and Canadian
orders are based on the shipping carrier's standard
rate. Since rates vary between carriers, please call
or write for the exact cost. International orders
(except Canada), please include an additional $10
for export preparation. All payments must be made
with US funds drawn on a US bank. Please include
your telephone number when ordering
Due to government regulations, we cannot ship to
all countries.
VOLUME ORDERS
Volume orders may qualify for additional discounts.
Call us for special pricing.
SOUND ADVICE
Our knowledgeable technical staff can answer
technical questions, assist in comparing products
and send you detailed product information tailored
to your needs.
30-DAY GUARANTEE
Most of our products (excluding books) come with
a 30-day documentation evaluation period or a
30-day return guarantee. Please note that some
manufacturers restrict us from offering guarantees
on their products. Call for more information.
MAILORDERS
Please include your telephone number on all mail
orders. Be sure to specify computer, operating
system and any applicable compiler or hardware
interface(s). Send mail orders to:
Programmer's Connection
Order Processing Department
136 Sunnyside Street
Hartville, OH 44632
USA . 800-336-1166
CANADA . 800-225-1166
OHIO & ALASKA (Collect) 216-877-3781
TELEX. 9102406879
EASYLINK . 62806530
INTERNATIONAL . 216-877-3781
CUSTOMER SERVICE .... 216-877-1110
INTERNATIONAL . 216-877-3781
CUSTOMER SERVICE .... 216-877-1110
Hours: Weekdays 8:30 AM to 8:00 PM EST.
CIRCLE NO. 175 ON READER SERVICE CARD
1972. Moonlighting
programmer deprograms company’s
production records. Files
saved on 3M data cartridge tape.
1973. Fastidious
janitor turns off IBM* 370.
Files saved on 3M data
cartridge tape.
1978. Colorado electric
storm jolts Wangsf
Files saved on 3M data
cartridge tape.
1979. Little Stevie Fong
flips floppies out
father’s office window. Files saved
on 3M data cartridge tape.
1980.'femporaiy help
permanently dumps accounting
records on Apple 111. Files
saved on 3M data cartridge tape.
1984 Hard disk fails
in soft market: brokers panic.
Files saved on 3M data
cartridge tape.
1985. Sal’s Diner.
Dropped eggs scramble Macs.
Files saved on 3M data
cartridge tape.
1987. Delivery boy delivers
IBM PS/^™ swiftly and
abruptly to the sidewalk. Files saved
on 3M data cartridge tape.
1976. Unnamed computer
does the unmentionable.
Files saved on 3IV1 data
cartridge tape.
1981. Circuit breaker 1982. Head crash 1983.Thief sneaks
flips, floppies flop. proves fatal to Lisa.™ Files away with Osbornes: Files
Files saved on 3M data saved on 3M data saved on 3M data
cartridge tape. cartridge tape. cartridge tape.
1990. Somewhere,
somehow, on some computer, data
will crash. Files will be
saved on 3IV1 data cartridge tape.
Computers come, and computers go.
But when they go out abruptly, you’ve always been
able to rely on 3M data cartridge tape for backup.
In fact, 80% of the people who back up on data
cartridge tape back up on 3M.
Why?
We’ve been covering computer and human errors
almost longer than computers and humans have erred
together.
Not only did we invent and patent data cartridges,
we’ve continually patented the innovations that make
data cartridge backup the best way to back up data.
Which is something that’s never changed.
n /mr\r\\ '^r\nr\r 1 1
Call (800) 423-3280 for a brochure.
Trademarks/owner: DEC/Digital Equipment Corporation; IBM, Personal System/2/International Business
Machines Corp.; HP/Hewlett-Packard; Apple, Lisa/Apple Computer Inc.; Wang/Wang Laboratories;
Osbome/Novell, Inc.; Mac/Macintosh Laboratory, Inc.
’■•'True to life stories.
CIRCLE NO. 164 ON READER SERVICE CARD
©3M 1987
3M
when John Middleton’s 1-2-3 Sohegotthebestof both
applications got to be more than worlds. With the Intel Inboard386,
his IBM PC Ar®could handle, he he got the full power of a386 system,
had two choices. Without compromising one bit
Spend $6000 for a new386 on performance or compatibility
system. Then,with the leftover $4000,
Or spend $2000 for an Intel® he spent two glorious weeks on
Inboard 386 system. the island of Bora Bora.
multitasking. And lots of developers
are already using Inboard to create
OS/2®applications.
But maybe the real question is
can a $2000 system be more
reliable than a $6000
onePThe answer is yes.
Because it’s built by the
same company that
designed the 80386
: microprocessor and
it’sbackedbyafive-
more information
is best, call us at
(800) 538-3373. Or contact
your local dealer.
Then we suggestyou find a nice
quiet place, clear your mind of
all distractions, and think it over.
Maybe a nice quiet place like
Bora Bora.
How can we give you so much
for so much less? Simple. If you
have an IBM PC AT or compatible,
you already own % of a386 system.
And when you install an Inboard
386,you get the rest of it.
Besides price, how
do they compare? - T '
According to a recent ^
/nfouvr/ci product fe
reviev^ “Inboard has
the best computing
speed of all micro
systemswe have tested
to date,” including all
other 386 systems.
The reason Inboard is so
fast is because of its zero wait
state cache and 32 bit memory
And there’s also a special socket
for adding the 80387-16 math
coprocessor giving you even
greater performance.
Software compatibility is unsur-
cc
passed as well.
According toFCV^ek,
The Inboard386 proved
perfectly compatible
with a standard IBM
PC AT and every software product
we tested.” It’s compatible with
advanced software, too, including
the new386 control softrare for
©1987 Intel Corporation
Thidemarks/owner: IBM PC AT, OS/2/International Business Machines Corporation; Intel/Intel Corporation.
CIRCLE NO. 187 ON READER SERVICE CARD
helps save time, money and cut fmstrations. Compare, evaluate, and find products.
RECENT DISCOVERY
RTC PLUS by Cobalt Blue. Translate
FORTRAN 77 and RATFOR to C except
F77 I/O, FORTRAN character, and
complex expressions. Some DEC F77
extensions. Library C Source. MS $ 279
Al-Expert System Dev’t
Arity Combination Package
PC
$
979
System - use with C
MS
$
229
SQL Dev’t Package
MS
$
229
Auto-Intelligence
PC
$
739
CxPERT - shell for C
MS
$
295
Experteach - Powerful, samples
PC
$
339
Exsys
PC
$
309
Runtime System
PC
$
469
Insight 2 +
MS
$
379
Intelligence/Compiler
PC
$
739
T.L: fc Easy
PC
$
435
Personal Consultant Plus
PC
$2589
Personal Consultant Runtime
PC
$
85
Turbo Expert-Startup(400 rules)
PC
$
129
Corporate (4000 rules) PC
$
359
Al-Lisp
Microsoft MuLisp 85 MS $ 159
PC Scheme LISP - by TI PC $ 85
Star Sapphire MS $ 459
TransLISP - learn fast MS $ 79
TransLISPPLUS
Optional Unlimited Runtime $ 139
PLUSforMSDOS $169
Others: IQ LISP ($239), IQC LISP ($269)
Al-Prolog
APT - Active Prolog Tutor - build
applications interactively
PC
$
49
ARITY Prolog - full, 4 Meg
Interpreter - debug, C, ASM
PC
$
229
COMPILER/Interpreter-EXE
PC
$
569
Standard Prolog
MS
$
77
MacProIog Complete MAC
$
269
MicroProlog - Prof. Entry Level
MS
$
85
MicroProlog Prof. Comp./Interp.
MS
$
439
MPROLOG P550
PC
$
175
Prolog-86 - Learn Fast
MS
$
89
Prolog-86 Plus - Develop
MS
$
199
TURBO PROLOG by Borland
PC
s
69
1 Basic 1
BAS_C - economy
MS
$
179
BAS_PAS - economy
MS
$
135
Basic Development System
PC
$
105
Basic Development Tools
PC
$
89
Basic Windows by Syscom
PC
$
95
BetterBASIC
PC
$
129
Exim Toolkit - full
PC
$
45
Finally - by Komputerwerks
PC
$
85
Mach 2 by MicroHelp
PC
$
55
QBase - by Crescent Software
MS
$
89
QuickBASIC
PC
$
69
Quick Pak-by Crescent Software
PC
$
59
Stay-Res .
PC
$
59
Turbo BASIC - by Borland
PC
$
69
FEATURE
TP2C - Translate Turbo Pascal
to formatted K & R C (proposed ANSI
85 standard). Include files, in-line
code, nested procedures. 95 + %
successful conversion. PC $ 219
Free Literature
Compare Products
Evaluate products. Compare competitors. Learn about new
alternatives . One free call brings information on just about
any programming need. Ask for any ‘‘Packer or Addon
Packet □ AI □ ADA, Modula □ BASIC □ “C" □ COBOL □
Editors □ FORTH □ FORTRAN □ PASCAL □ UNIX/PC or
□ Debuggers, Linkers.
Our Services:
• Programmer’s Referral List • Dealers Inquire
• Compare Products • Newsletter
• Help find a Publisher • Rush Order
• Evabation Literature FREE • Over 700 products
• BBS*7PMto7AM617*740-2611 • National Accounts Center
C Language-Compilers
AZTEC C86 - Commercial PC
C86 PLUS - by Cl MS
Datalight C - fast compile, good code,
4 models. Lattice compatible. Lib
source. Dev’rs Kit PC
Datalight Optimum - C MS
with Light Tools by Blaise PC
Lattice C - from Lattice MS
Let’s C Combo Pack PC
Let’s C PC
Microsoft C 4.0- Codeview MS
Rex - C/86 by Systems &
Software - standalone ROM MS
Turbo C by Borland PC
Uni ware 68000/10/20 Cross
Compiler MS
C Libraries-Files
C Index by Trio/PLUS MS $319
BTree by Soft Focus MS $ 69
CBTREE-Source, no royalties MS $ 99
CTree by Faircom - no royalties MS $315
rtree - report generation PC $239
dbQUERY-ad hoc, SQL-based MS $129
dbVISTA - pointers, network.
Object only - MSC, LAT, C86 $129
Source - Single user MS $389
dBx - translator to library MS $299
C-Screens, Windows, Graphics
C-Scape - capture Dan Bricklin PC $179
Curses by Aspen Scientific PC $109
dBASE Graphics for C PC $ 69
ESSENTIAL GRAPHICS - fast PC $185
Graphic - new color version PC $285
Greenleaf Data Windows PC $159
w/source PC $289
Light WINEX)WS/C-for Datalight CPC $ 79
Windows for C - fast PC $189
Windows for Data - validation PC $319
Vitamin C - screen I/O PC $159
View Manager - by Blaise PC $179
ZView - screen generator MS $139
Atari ST & Amiga
We carry full lines of Manx & Lattice.
Call for a catalog, literature and solid value
800 - 421-8006
THE IMUHillANMER’S Sll»l»
Your complete source for software, services and answers
5-P Pond Park Road, Hingham, MA 02043
Mass: 800442-8070 or 617-740-2510
$499
$359
$ 77
$ 99
$168
$269
$ 99
$ 59
$275
$695
$ 69
Call
RECENT DISCOVERY
dB2C Toolkit V 2.0 by Software
Connection. 220 + dBIII functions in
C source, file handler, windowing,
i n terface to db_VI ST A, c-tree,
dBC III, MS, Lattice, InstantC.
No Royalties MS $ 289
dBASE Language
Clipper compiler PC Call
dBASE II MS $329
dBase III Plus PC $429
dBASE III LANPack PC $649
DBXL Interpreter by Word Tech PC $139
FoxBASE+ - single user MS $349
Quick Silver by Word Tech PC $439
dBASE Support
dBase Tools for C PC $ 65
dBrief with Brief PC Call
DBC ISAM by Lattice MS Call
dFlow - flowchart, xref MS Call
Documentor - dFlow superset MS Call
Genifer by Bytel-code generator MS $299
QuickCode III Plus MS $239
Tom Rettig’s Library PC $ 89
UI Programmer-user interfaces PC $249
Fortran & Supporting
50:More FORTRAN PC $ 95
Forlib+ by Alpha MS $ 59
I/O Pro - screen development PC $129
MS Fortran - 4.0, full ’77 MS $279
No Limit - Fortran Scientific PC $109
PC-Fortran Tools - xref, pprint PC $165
RM/Fortran MS Call
Scientific Subroutines - Matrix MS $129
Multilanguage Support
BTRIEVE ISAM MS $185
BTRIEVE/N-multiuser MS $455
Flash-Up Windows PC $ 79
GSS Graphics Dev’t Toolkit PC $375
HALO Development Package MS $389
HALO Graphics PS $209
Informix 4GL-application builder PC $789
Infoiinix SQL - ANSI standard PC $639
NET-TOOLS - NET-BIOS PC $129
Opt Tech Sort - sort, merge MS $ 99
PANEL MS $215
Pfinish - by Phoenix MS $229
Poly boost - speed I/O, keyboard PC $ 69
Prime Factor FFT - 8087/287 PC $145
PVCS Corporate-source control MS $309
PVCS Personal MS $109
QMake by Quilt co. MS $ 79
Report Option - for Xtrieve MS $109
Screen Machine PC $ 59
Screen Sculptor PC $ 95
SRMS - new version MS $159
Synergy - create user interfaces MS $375
VXM - multi-env. link MS $195
Xtrieve - organize database MS $199
ZAP Communications - VT 100 PC $ 89
FEATURE
C Worthy Interface Library - Complete,
tested human interface for MS C, Lattice
or Turbo C. Full screens, Windows, DOS,
Error handling, Menus, Messages.
Source separate, no royalties. PC $249
Note: All prices subject to change without notice. Mention this ad. Some prices
are specials. Ask about COD and POs. Formats: 3" laptop now available, plus
200 others. UPS surface shipping add S3'item.
CIRCLE NO. 162 ON READER SERVICE CARD
lECH
GERRY KAPLAN
NOTEBOOK
Underline Fix for the EGA
The underlining capability of the EGA can be restored in color
. mode with this terminate-and-stay-resident program.
80
T ext-based applications are most often used on the IBM
monochrome display. Users of word processors appreci¬
ate its sharp characters formed by a 9-by-l 4-pixel matrix, as
well as its ability to display underlined and bolded text. An
Enhanced Color Display connected to an EGA can provide
virtually the same level of sharpness with an 8-by-l 4-pixel
character cell, and it can do this in 16 colors. But on a color
monitor, the EGA does not display underlined text.
The EGA is capable of underlining, and it does so when
connected to a monochrome monitor. The hardware is de¬
signed to produce underlining for characters with video at¬
tributes of 1 or 9 for the foreground and zero for the back¬
ground, provided that the contents of the Underline Location
Register contains a value between 0 and 13. This value is the
scan line on which the underline will appear; 13 provides
normal underlining, while lower values move the line up¬
wards in the character cell to produce strike-over or over¬
line effects. The EGA BIOS enables underlining whenever
the adapter is switched to video mode 7 (monochrome), and
disables it for the color modes.
It is easy to write a program to reenable underlining by
setting the Underline Location Register; however, most soft¬
ware resets the video mode when it loads, thus nullifying
any changes made to the EGA registers. The solution is to
install a terminate-and-stay-resident (TSR) program that inter¬
USTINGl: UNDRLIN.ASM
SCNLIN
EQU
13
;Scan line for underline.
COLOR1
EQU
0201H
;Set color 1 to green
C0L0R9
EQU
3A09H
;Set color 9 to brite green
CODESEG
SEGMENT
PARA PUBLIC
•CODE*
ASSUME
CS:CODESEG,
DS:COSESEG
ORG
100H
ENTRY:
JMP
LOADER
;Go to loader routine
OLD10
DD
?
/Storage for old INT 10H address
INTHAND
PROC
FAR
/Beginning of INTERRUPT Interceptor
AND
AH, AH
/Is it Set Mode function?
JZ
CAL LB
/If so, arrange to come back from BIOS
JMP
OLD 10
/Else go to BIOS and do not come back
CALLS:
PUSHF
/Push flags to simulate interrupt
CALL
OLD 10
/Call BIOS and return
PUSH
AX
PUSH
DX
/Save Registers
PUSH
DS
MOV
AX,40H
/Set up addressability to BIOS DATA
MOV
DS,AX
MOV
DX,DS:63H
/Get CRTC base address in DX
MOV
AL,014H
/CRT Reg 14 is Underline Register
OUT
DX,AL
/Indicate change to Reg 14
INC
DX
/Now point DX to CRTC data register
MOV
AL,SCNLIN
/Load AL with desired scan line
OUT
DX,AL
/Send data to CRT controller
MOV
AX,1000H
/Set a palette register
MOV
BX,COLORl
/Set underline, color 1
cepts all the video mode setting calls and applies the fix
after the mode is changed. An example is reproduced in
UNDEmdN.ASM (listing 1).
The INTHAND procedure gains control on return from
a mode-setting call (interrupt lOH, AH = 0). It enables the
underline mode by writing the desired value (13 is used
here) into the underline register. This register is loaded by
writing its index (14H) to the EGA controller port, then writ¬
ing the data value to the port at the next higher address.
The base controller port address is available at location
40:63H of the BIOS data area.
Thereafter, any text written in colors 1 or 9 will be un¬
derlined. Although the attributes that produce underlining
are fixed, the colors that correspond to tliose attributes are
not. Therefore, the underlined colors may be changed by
writing appropriate color values to palette registers 1 and 9.
In this example, colors 2 (green) and 3AH (bright green)
are used. Blue will no longer be available; instead, green
will be available in underlined and plain versions. The un¬
derline colors are controlled by the values equated to labels
COLORl and COLOR9. If desired, code may be added to
change the background to a color other than black by writ-
ing a nonzero color value to palette register 0.
Gmy Kaplan is a computet' consultant and software developer.
INT
10H
MOV
AX,1000H /Set
a palette register
MOV
BX,C0L0R9 /Set
brite underline, color 9
INT
10H
POP
DS
POP
DX /Restore Registers
POP
AX
I RET
/Return to original caller
INTHAND ENDP
MESSAGE DB
'UNDERLIN: By Gerald S. Kaplan',0DH,0AH,'$'
LOADER PROC
NEAR
/Loads the INT 10H TSR
MOV
AL,10H
/Get vector for INT 10H
MOV
AH,35H
/DOS function for get vector
INT
21H
MOV
WORD PTR OLD10,BX
/Save the address
MOV
WORD PTR OLD10+2,ES
MOV
DX,OFFSET INTHAND
/Point to new INT 10H handler
MOV
AH,25H
/DOS call to set vector
MOV
AL,10H
/Which interrupt to set
INT
21H
MOV
AX,0003H
/Reset mode to turn on
INT
10H
/ underlining
MOV
AH,9
/DOS Print Message function
MOV
DX,OFFSET MESSAGE
/Point DX to message
INT
21H
/Go and print message
INT
27H
/Exit and stay resident
LOADER ENDP
/(DX already points to
CODESEG ENDS
:end of resident mode)
END
ENTRY
SEPTEMBER 1987
49
ILLUSTRATION • ANDY LEVINE
T oday’s feature-laden programs
require an increasing amount of
source code. With available mem-
or\^ no longer a problem for many mi¬
crocomputer systems, PC programs
have expanded to rival some main¬
frame entries in both size and com¬
plexity. Add to this the dynamics of the
software market, where maintaining an
edge means development cycles are
shortened and more coding is per¬
formed in parallel by several program¬
mers, and the fact that many programs
are written to work on several different
computer systems or different versions
of an operating system. This state of af¬
fairs creates nightmares for many pro¬
grammers managing source code.
50
When a program is composed of
dozens of modules, keeping track man¬
ually of which set of source code files
is the correct one to use for a given
version of the program is tedious at
best. The rush of last-minute coding
before a release may cause the current
information not to be distributed to all
members of the programming staff, and
time is wasted or programs built incor¬
rectly are released. Considered here
are six source code management sys¬
tems (SCMS)—automated tools for con¬
trolling source code and changes to
source code modules: (iiie) by Burton
Systems Sofrtv^are, bricks by Datalight,
Source Code Interactive Librarian (scil)
by H & S Associates, Corporate (pvcs)
JIM VALLINO
As programs expand
to incorporate more
intricate features,
the complexity of the
development process
grows at an even
faster pace. These six
software products
keep tabs on that
growth for teams
of programmers.
CODE MODULES
by Polytron Corporation, (srms) by
Quilt Computing, and (svm) by Seidl
Computer Engineering.
Tools such as these, that handle
tasks normally performed by members
of a software development team, aid in
completing projects within tight time
constraints. Such programs are classi¬
fied as computer-assisted software engi¬
neering (CASE) tools. Currendy, a great
deal of development work is going on
with CASE tools in areas such as auto¬
matic program generation and auto¬
mated program verification and valida¬
tion. Although generally still in the re¬
search phases, some CASE tools avail¬
able for many years to software devel¬
opment teams on mainframes and min¬
icomputers are also available on per¬
sonal systems running the DOS.
A more correct name for these
tools is ASCII text file management sys¬
tem. Any type of ASCII file can be
placed under the control of an SCMS.
This could include program design
documents, user manuals, project
schedules, and so on. It is as important
to control changes to these vital pieces
of information as it is to control a proj¬
ect’s source code. A few of the prob¬
lems that can be alleviated by source
code management are:
• A programmer makes modifications
to a module not knowing that con¬
flicting changes may be made simul¬
taneously by someone else.
• Changes are made to a module that
are not correa and the original revi¬
sion must be recovered.
• In order to respond to a problem
report from the field, a specific prior
program release must be generated.
• A problem is discovered that was not
present in a previous release of a
program. The development staff
wants to know what changes were
made between the two releases.
A manual record-keeping system
could be used to track much of the in¬
formation necessary to eliminate these
problems. For example, to eliminate
simultaneous updates to a module,
every time a programmer wished to
modify a source code module, a log
would need to be checked to verify
that no one else “ovmed” the module.
If no one did, the programmer would
claim ownership of the module, alert¬
ing other team members that changes
are being made to the module. Follow¬
ing a stria discipline of making backup
copies of modules throughout develop¬
ment might provide access to all previ¬
ous revisions of a module. However, it
is frequendy the case that manual tech¬
niques such as these break down be¬
cause programmers find them tedious
and eventually do not adhere to them.
In addition, the manual method of
making a backup copy of the source
file every time modifications are made
to create a new revision has two imme¬
diate problems. The first is generating
file names so that the different revi¬
sions can be identified. Some operating
systems have this feature built-in with a
revision number as a standard part of
the file name. As this is not available in
DOS, a different file-naming convention
is needed that includes a revision iden¬
tification. The second, and larger, prob¬
lem with this technique for source
code management is disk space. In
A. source code manage¬
ment system controls the
storage and generation of
multiple revisions of a
source code module.
many instances, the difference between
two revisions of a source file amounts
to a small percentage of the total size.
Disk space is wasted storing the entire
new file because much is duplicated
from the previous revision. The
changes between two revisions is the
part necessary to be kept to generate
the new revision from the previous
one. These differences between two
revisions of a file are collectively called
a delta —this is the basic concept in
source code management.
KEEPING TRACK OF REVISIONS
The primary features of an SCMS are to
control the storage of multiple revi¬
sions of a source code module and to
provide a mechanism for generating
any requested revision on demand. A
development staff relieved of these
burdens has more time to devote to
design and coding, and is thereby able
to increase its productivity.
SCMSs can be thought of as data¬
bases for program code in that they
control access to files that hold the
source code for a projea. Without an
SCMS, a programmer can obtain a
module by making a copy of it, per¬
haps from a direaory on one central
computer that is being used by all
members of the project. With an SCMS,
programs provided by the system are
used to generate a working copy of the
requested source code. When modifica¬
tions to a module must be made avail¬
able to others on the project, SCMS
programs again are used to incorporate
the changes into the library archive file
that holds information about all revi¬
sions of the module.
To compact storage, an SCMS
stores changes to a source file in terms
of deltas. The information common to
two revisions is not duplicated. Each
delta represents only the differences
between two revisions of a file. For a
given set of differences, the amount of
information that must be saved to de¬
fine fiilly all of these changes is deter¬
mined by the sophistication of the delta
detection algorithm. Most algorithms
work with a resolution of a line. If any
charaaer changes within a line, the
delta has an indication that, for the
new revision, this line changed. The
old line is marked as deleted and a
copy of the new line is inserted into
the SCMS file and marked to be active
with this new revision. A simple exam¬
ple is given in figure 1 (a forward
delta, explained below).
The better algorithms also can de¬
tea blocks of lines that are moved, de¬
leted, or copied within a file. The goal
is to store in the SCMS file the least
amount of information necessary to
define fully the delta. This process in¬
volves a trade-off, however, between
reducing storage for the delta and ad¬
ditional time required to execute a
complex delta detection algorithm. To
further reduce storage space, the SCMS
could perform a data-compaction algo¬
rithm on the information to be stored.
Here again, the trade-off is between
less storage and longer times required
to insert or extract revisions of a file.
Delta generation can move in for¬
ward or reverse direction. Forward del¬
tas begin with a full copy of the origi¬
nal file and each delta details what
must be done in order to create the
next revision. When the SCMS is asked
to generate a given revision of a file, it
starts with the original file contents and
applies deltas one at a time until the
revision desired is generated. Forward
deltas carry the disadvantage that they
take longer to generate more recent
revisions, which usually are requested
more often, because all deltas from the
very first one must be applied to the
file. It is usually the case that forward
deltas are requested more often.
Reverse deltas work in the oppo¬
site direction. A full copy of the latest
revision is maintained in the SCMS file
and each delta represents changes for
generating the previous revision of the
52
PC TECH JOURNAL
To be able to recreate either the base or the second revision, a source code man¬
agement system (SCMS) must store only the base revision and the delta informa¬
tion. This requires less storage than would storing full copies of each revision.
source file. With this technique, creat¬
ing the latest revision of a file is rela¬
tively quick and generating older revi¬
sions takes longer periods of time.
The process of retrieving a revi¬
sion of a file is usually referred to as a
get or checkout of the file. The SCMS
generates a working copy of the de¬
sired revision from its archive files by
applying the appropriate deltas to the
base file. When the SCMS goes about
the process of saving modifications to
the file, differences between the modi¬
fied file and the revision upon which it
is based are detected and used to
create the delta information. This oper¬
ation is commonly called a put, delta,
or check-in of the file.
Each revision of a file must have a
unique identifier. One common
method for assigning revision numbers
is in the form RM.Rm. RM and Rm are
numbers representing the major and
minor revisions of a file respectively.
The initial check-in of a file under a
SCMS creates revision 1.0. Each subse¬
quent get/put cycle will cause an incre¬
ment to the minor revision number as
the normal sequence. This would make
the second revision 1.1. An example of
a typical cycle of revisions for a file is
shown in figure 2. When a major
change occurs in a system, such as re¬
lease of the product and beginning
work on the next release, the SCMS is
instructed to increment to the next
major revision and reset the minor re¬
vision to 0. As would be expected, after
the first major change of this type, files
would be on revision 2.0.
This path of development, which is
straight along the central line of
major/minor revision numbers, is re¬
ferred to as the trunk of the file. It is
sometimes necessary to create parallel
development paths for a single module.
In the figure 2 example, this occurs
with revision 1.1 and 1.2. The revisions
of the file that diverge from the trunk
are called branches. A branch might
represent a path of development for a
particular operating environment or
customization provided for one client.
Branches generally are identified
by adding a branch major and minor
revision number to the trunk revision
from which they diverge from. In the
example, revision 1.2.1.1 is the first
revision of a branch from the trunk
revision 1.2. From this point new revi¬
sions on the branch increment the
branch minor revision number. The
example revision tree also shows a sit¬
uation where a branch from revision
1.2 is merged back into the trunk at
revision 3.0. Some SCMSs can perform
these merges and generate error mes¬
sages if a conflict occurs during the
merge. A merge of this sort might be
performed if the branch represented
some customization for a particular cli¬
ent that now will be incorporated into
the mainstream product.
GETS, PUTS, AND LOCKS
When a revision of a file is needed, a
get request is issued to the SCMS. All
SCMS archive files for a given project
are maintained in a single place, usu¬
ally a directory on a file server. The
exact structure of the files kept by die
SCMS vary from one system to another.
A system might place all information
for a source file it manages into one
file under its control. Another system
uses several files and/or directories to
maintain the information. (When back¬
ing up files a system that uses a single
file for all information might be con¬
sidered to have a slight edge since only
one file needs to be saved). Systems
that require a specific directory struc¬
ture are a bit more difficult to use than
those in which archive files can be in
any directory. This is particularly true if
source files are used in several proj¬
ects, each of which is developed in a
separate directory. To prevent acciden¬
tal deletion, it is best if the SCMS can
set the DOS read-only file attribute on
all of these files.
Performing a get without specify¬
ing an explicit revision number usually
defaults to the latest revision on the
trunk. The latest revision on the main
trunk or a branch is referred to as the
tip revision. If a revision is specified,
then the SCMS will generate that spe¬
cific revision number. The result of the
get is a working copy of the source file
as it existed when it was checked in to
create the revision requested. This re¬
trieved working copy might represent
how the file looked yesterday after¬
noon or six months ago. The SCMS
maintains all intervening revisions of
the program and sorts out changes.
The SCMS get provides a mecha¬
nism for one programmer to check out
a revision of a file for editing. This
places a lock on the revision and pre¬
vents two programmers from simulta¬
neously making changes to the same
revision of a file. Anyone else who at¬
tempts to check out that revision for
modification would be alerted that the
SEPTEMBER 1987
53
800MB (PC-800)
12995*
160 MB (Ar-160)
11995*
120 MB (Ar-120)
$1795*
with DOS, Novell™ and
Xenix™
What’s more, they’re
built around reliable,
field-proven Maxtor
drives and our own
industry standard
SpeedStor integration software.
And with these prices, you really
7 can’t afford to let low-capacity
storage limit either your system
or your application.
So don’t build a system that ain’t
as much as it could be; call us
today. 408/395-2688.
Not anymore, it ain’t.
After all, when
you’re putting together
PC-AT systems for
today’s advanced
applications, even
120 MB of storage may
not be anywhere near enough.
So now you can get that much
storage and more. From our family of
SpeedStor™ 70 MB to 320 MB hard
disk subsystems and 800 MB optical ^
subsystems. '
They’re engineered for easy
installation and full compatibility
A Maxtor Company
Distributed by Anthem/Lionex Electronics, Future Electronics, Pioneer Standard Electronics, Quality Components and Storex.
’^VAR pricing, corporate accounts welcome. SpeedStor is a trademark of Storage Dimensions.
Other names indicated byTM are tradenames of their respective manufacturers. © 1987, Storage Dimensions.
CIRCLE NO. 178 ON READER SERVICE CARD
CODE MODULES
Two revision branches that start with revision 1.1 and 1.2 are shown. The last revision or branch on the trunk is referred to
as the tip. Branches also can merge back into the trunk, as is shown for the branch from revision 1.2 (1.2.1.3).
revision is locked. A read-only copy,
needed for viewing or compiling the
file, can always be obtained from the
SCMS. No lock is placed on the file
when a user performs this operation
and if the SCMS sets the DOS read-only
file attribute on the copy of the revi¬
sion generated, the file is more difficult
to modify and thus reinforces the
read-only notion. A revision that is re¬
trieved for editing would have its
read-only attribute cleared.
If, when creating a working copy
of a revision, the SCMS finds tliat a
writable copy of the same file already
exists in the user’s directory, it should
provide an indication of this before
overwriting it. This check prevents los¬
ing valuable modifications when a pro¬
grammer, who has a revision out for
editing, wanks to check something in
another revision of the same source
file and requests a second copy of the
file. The edit lock is removed from a
revision when the owner checks it in
with a delta operation or manually
removes the lock.
Identifying the team member who
“owns” the edit lock on the file is
quite useful. Someone who needs to
make modifications to a locked revi¬
sion is made aware of who must
check-in the file to make it able to be
edited again. DOS has no user identifi¬
cation (ID) information available;
SCMSs incorporate user ID information
by means of environment variables or
prompting for a user ID. It is also nec¬
essary for an SCMS that supports
branches to allow more than one revi¬
sion of a source file to be edit-locked
at the same time. This allows modifica¬
tions to be performed on several
branches of the file in parallel. The
SCMS should track which revisions are
locked and by whom.
When a file that has been modified
is checked in, the SCMS must be able
to determine the revision from which
to create the delta. If the system allows
multiple revisions to have edit locks
and employs a user ID, then the de¬
fault is the revision that the user owns
for editing. Otherwise, the default
would be the single revision that is
locked. For special circumstances, such
as creating a new major revision, the
user must have the capability to over¬
ride the default revision number when
making a delta. In general, it should be
the case that any attempt to apply mod¬
ifications to a revision tliat is not
locked or that the user does not own
generates an error.
SYMBOLIC VERSION LABELING
Many times during a project, current
revisions of every module may be used
to build a complete system. This result
of this building might represent a re¬
lease of the product or a version that is
to undergo internal system testing. This
frozen configuration of the system
often is referred to as a version of the
system. A mechanism for remembering
the source module configuration used
to generate a version is needed so that
it can be recreated upon request at any
time in the future.
The symbolic version labeling fea¬
ture provided with many SCMSs gives
the source code librarian the capability
to associate a symbolic version label
with specific revisions of the source
files. Figure 3 shows an example of a
small program composed of four
source files. Each of these files has
reached its current state by going
through several revisions. This is repre¬
sented vertically under each of the file
names. The horizontal lines connecting
revisions of each file represent the
source code configuration at the time a
version of the program was created.
These versions have the symbolic la¬
bels Release_l, Release_2, Sys-
tem_test, and Development.
SEPTEMBER 1987
55
AN OLD DOS
NEW TRICKS
Protected Mode and 32-bit Performance Today
A.I.
Architects, Inc.
One Kendall Square
Cambridge, Massachusetts 02139
(617) 577-8052
A.I. Architect's
HummingBoard^'' is a high perform¬
ance 386 coprocessor for the PC-XT,
AT and compatibles available with
the 80387 and 2-24 Mbytes of RAM.
Introducing OS/286™ and OS/386™,
extensions to MS-DOS 3.x that enable
full use of the 80286 and 80386. Now
you get direct access to all available
memory, not just an archaic 640K.
OS/286 and OS/386 propel your pro¬
grams beyond the limitations of DOS,
without forcing you to start all over.
Moving to protected mode is simple
because OS/286 and OS/386 give you
the same interface as DOS. The hard¬
ware is still under your direct control,
many 16-bit compilers already gen¬
erate code suitable for OS/286 and
OS/386, and existing highly tuned,
machine-specific subroutines running
in real mode can be efficiently called /
from within protected mode. Since ■
most of your own code won’t need to be r
rewritten, your programming invest¬
ment is preserved. And because
OS/286 and OS/386 work with DOS
3.x, they don’t affect other programs,
device drivers, or TSRs.
In addition to the larger address
space offered by protected mode,
OS/386 adds 32-bit performance to
systems like the Compaq™ 386
which, until now, have been shackled
to 8086 emulation.
OS/386 can be customized to give
unmodified DOS programs up to 900k
on 386 systems, regardless of how
many TSR's, networks, disk caches,
etc., are Installed.
OS/286and OS/386 “ Features:
• Huge address space (4GB on the
80386)
• 32-bit performance (80386)
• No rewriting of device drivers
• Compact code (under 64k)
• Support for all existing DOS calls
• New INT-21 calls for manipulating
segments, invoking real-mode rou¬
tines and interrupt handlers, and
addressing physical memory directly
• Full interrupt vector support
• Powerful debugging: concurrent
DOS environment while debugging
protected mode programs
• The ability to run non-Windows pro¬
grams in a window
IBMATGMhz 793
Compaq 386-16Mhz
HummingBoard-lSMhz 2
HummingBoard-20Mhz
Vax 8600 (Unix 4.3 BSD,cc)
Sun 3/160 (Sun 4.2 3.0A,cc)
A.I. Architects gives you a
complete development toolkit:
OS/286 or OS/386 kernel and linker.
Symbolic debugger and command
processor
Options include:
16-bit and 32-bit compilers
High C, Professional Pascal, or
F77L FORTRAN
32-bit Assembler
386 HummingBoard™
The basic Developer’s Kit is $495.
32-bit Compilers are $895. Run time
licenses for OS/286 and OS/386 are
available at nominal cost.
OS/286, OS/386 and HummingBoard trademarks of A.I. Architects, Inc., Compaq Deskpro 386 is a trademark of Compaq Computer Corp., High C and Professional Pascal are
trademarks of Metaware, Inc., F77L FORTRAN is a trademark of Lahey Computer Systems, Inc., Microsoft and MS-DOS are trademarks of Microsoft Corp., VAX 8600 is a
trademark of Digital Equipment Corp., Sun 3/160 is a trademark of Sun Microsystems, Inc., Unix is a trademark of AT&T.
CIRCLE NO. 253 ON READER SERVICE CARD
CODE MODULES
Files may be connected to a symbolic version label. Source file revisions are
shown vertically; symbolic version label associations are the horizontal lines.
Release_l consists of File 1, revi¬
sion 1.1; File 2, revision 1.0; and File 3,
revision 1.2. Note that after Release_l
was made, all files were changed to a
new major revision number represent¬
ing the work on Release_2. Often the
first revision of a new major release
number is created by getting out the
last revision of a file and putting it
back unchanged at the new major revi¬
sion number. This process was re¬
peated after Release_2 was created.
The current work on the next re¬
lease has two symbolic labels associ¬
ated with it. One represents die version
that is undergoing to system test. The
System_test version is composed of
revisions of File 1, File 2, File 3, and a
revision of the new File 4. As work on
a project progresses, individual pro¬
grammers complete work on program
features that are needed by other team
members. The Development version
represents the revision of each file that
the responsible programmer wants
other team members to use. Revisions
of a file beyond the one with the De¬
velopment version label represent con¬
tinued development that the program¬
mer does not believe to be sufficiently
stable for use by odier programmers.
When a project member wants to
build an executable system for test pur¬
poses, he would get copies of the revi¬
sion of all source files carrying the
Development symbolic version label. If
the programmer is testing new fea¬
tures, then work files may be present
that have modifications beyond the
Development revision of that file. The
SCMS should not overwrite these modi¬
fied files when the user tries to get the
Development revision of the file. If the
DOS read-only file attribute is used to
identify files that the SCMS considers to
be nonmodifiable, then it is an easy
matter to generate a warning whenever
the SCMS attempts to overwrite a file
that is not read-only. Alternatively, the
file’s time/date stamp can indicate a file
that has been modified.
An SCMS that supports version la¬
bels should provide easy mechanisms
for a label to be associated with a revi¬
sion of a file, disassociated with it, or
changed to another revision. Also, to
create the opportunity to build a spe¬
cific version of a program at a future
time, it should provide a method for
retrieving the revisions of all source
files associated with a version label.
HISTORY AND JOURNALING
Many times project staff members need
to know the difference between two
revisions of a source file, either at the
detailed source code level or in terms
of a summary description of the
changes made. The auxiliary programs
discussed below provide the capability
to show which lines of source code
have changed. SCMSs provide a capa¬
bility to annotate the deltas made to a
file. Whenever a file is initially put
under code maintenance or when a
revision is checked in, the user is
prompted for a comment. This descrip¬
tion of the revision becomes a perma¬
nent part of the history for the file.
Some systems limit the size of these
comments to a single line, while others
allow multiline revision descriptions.
Reviewing these descriptions is useful
when a problem is detected in an un¬
expected area and clues are needed to
identify suspect modules.
An important element to managing
software development is tracking
changes to the software. The features of
an SCMS discussed so far assist in con¬
trolling changes to the source code. An
SCMS that provides reports of activity is
useful for a project manager who wants
to follow development activity. Some
systems maintain a journal of all actions
performed on the files under SCMS
control. This journal would record, for
example, all get or put operations
along with file name, revision, date/
time and user ID. A project manager
can use tliis to track development activ¬
ity or a code librarian may get useful
information from the journal file if a
problem develops in the SCMS library.
KEYWORDS
When a revision of a file is called from
the SCMS, the user might want to have
some revision identifying information
contained in the source file. This infor¬
mation might include revision number,
date, programmer name, and/or reason
for modification. If the programmer
follows a strict discipline, the informa¬
tion could be placed into the source
file whenever modifications are made.
However, all of this information is
maintained by the SCMS as it tracks
changes to the source file and several
systems provide a key word expansion
mechanism to include the desired in¬
formation in the work file created.
Key words such as Revision or
Comments are placed into the source
file in a defined format. When a get
operation is executed, the appropriate
data are inserted wherever the key
words are found in the file. With key¬
word substitution, the working copy of
a source file is easily identified as to its
revision number, time/date stamp, or
user ID of programmer creating the
revision. If comments were included,
then the revision descriptions for all
previous modifications to the module
are part of the work file.
SEPTEMBER 1987
57
CODE MODULES
Key-word substitution is performed
in either one of two ways. In the first
method, when the SCMS performs key¬
word substitution during the get opera¬
tion, the entire key word is removed
and replaced with the appropriate in¬
formation. Alternatively, the key word
may remain in the file with the infor¬
mation placed near it in a specific for¬
mat With the former method, each
time modifications are made to a file
the user must reenter the key word at
the desired location so that it will be
present for expansion after the reverse
data has been applied to the file. Keep
in mind that the method that keeps the
key words in the source file does not
have this editing requirement.
The nature of the key word deter¬
mines its placement in diifferent sec¬
tions of a source file. An item such as
the log of revision descriptions usually
is placed into a comment field. The key
word, which expands to the revision
identification, is more often inserted
into the file in a way that causes the
identification charaaers to be present
in the objea file that is derived from
this source file. One technique for ac¬
complishing this is to place the key
word inside a string definition. This
module identification then also would
be contained in the final executable
program file. If the revision informa¬
tion is preserved, then a utility to dis¬
play any strings of charaaers found in
a file can scan an objea file or execut¬
able file to identify the source configu¬
ration that created it.
An SCMS is composed of one or
several programs that perform its vari¬
ous tasks. Some systems also include a
surrounding shell to provide a more
friendly interface to the system. Most
SCMSs also have auxiliary programs or
operations that aid in source code
management These extras provide
functions beyond the routine get and
put operations.
One of the more common auxil¬
iary programs is a difference analyzer.
Such a program performs the same
delta detection algorithm that is used
when modified files are checked in and
displays the difference between two
files or between a work file and a revi¬
sion under source control. A display of
these differences can be quite useful if
some time has lapsed since the last
modification was performed on a file
and the programmer needs to review
what modifications already have been
completed or to determine exacdy
what changes were made between a
working and nonworking revision of a
module. If changes to source code
need to be delivered, especially via
telephone lines, a difference program
can significantiy reduce the amount of
data that must be sent. Of course, the
receiving end also must have a pro¬
gram that can read a difference specifi¬
cation and generate the modified file
from the original.
CODE MAINTENANCE CHOICES
The reviewed packages were tested in
a simulated development cycle. Several
files were maintained through revisions
and branches, if supported by the
SCMS. All features available in each
package were tested for functionality,
and ease of use was a key element. If a
menu shell was part of the package, it
was used for some of the testing. All
operations also were performed from
documentation across
the board is surprisingly
good. Compared to other
software products, it was
easy to locate inftyrmation.
the command line to ensure that oper¬
ation from a batch file or automatic
program builder is possible (see the
accompanying sidebar, “Automatic Pro¬
gram Building”). Table 1 lists the fea¬
tures of the products reviewed.
The test machine was an IBM PC
running at 4.77 MHZ with 640KB of
memory and a Maynard Electronics
30MB i^ollo disk installed. To mini¬
mize disk access differences, the hard
disk held only those files necessary for
the specific test being run. In all, three
tests were devised to demonstrate the
relative performance of each package.
Test 1 is a file that started as a sin¬
gle line of chai;aaers and was placed
under source code management The
file then was repeatedly taken out for
edit, with a single line added at the
end of the file, then the file was
checked in with a short comment This
process was repeated 100 times; the
sizes of the resulting archive files for
each SCMS are shown in table 2, along
with the time it took to get the latest
revision. Also shown is the amount of
time required to retrieve the first revi¬
sion of the file after 100 deltas.
The second test is a 50-line C pro¬
gram, a file that was put under control
of the SCMS, then taken out for edit
Each line in the file was transposed
with the. next line in the file. Resulting
sizes and times for revision extraction
are shown in table 2.
Test 3 is a text file with 47,073
charaaers on 1,473 lines. This file was
placed under source control and then
retrieved for editing. A single line near
the end of the file was modified by the
addition of 21 charaaers to the middle
of it, then it was checked in. Both the
size of the archive file and the time to
perform the delta operation for each
system are shown table 2.
The documentation across the
board is surprisingly good. Compared
to the material distributed with other
software products, it was easy to locate
information. All but one of the manuals
are in the standard 5.5-by-8.5 inch size,
with typeset pages, and each manual is
distributed in a binder. None of them
contained errors or misstatements that
would have prevented the correa op¬
eration of the software. (Additional
comments are made in the review of
each produa.)
Burton Systems Software, tub checks in
as the least expensive produa re¬
viewed, yet it is packed with features.
The programs that make up the system
are distributed in a .arc file. To use the
programs, they first must be extraaed
using a provided archive utility. (The
archive program, PKXARC, is not com¬
pletely compatible with the ARC pro¬
gram used by PCTECHline.) It also has
an archive of several public domain
programs. Included in this collection is
a MAKE-type program complete with
source code, two keyboard enhancers,
and several other utility programs.
A single executable file performs
all of the source management opera¬
tions for TUB. When the program starts,
the current direaory is searched for a
configuration file called tlib.cfg. If
found, it is read to configure the pro¬
gram. If this file does not exist, the
environment is searched for a variable
named tlibcfg, which, if found, is used
to specify the name of a configuration
file. Configuration files cannot be
nested, and no means is offered of
specifying a configuration file on the
command line. Several modes of oper¬
ation can be enabled and disabled
from the configuration file.
TUB is the only system reviewed
that, by default, can create a modifica¬
tion to the text in a source file, tub has
an unacceptable default mode for han¬
dling tabs: upon check-in of a file and
whenever possible, it converts all se¬
quential spaces to tabs, assumed to be
at eight-column separations. Upon
58
PC TECH JOURNAL
check-out, tabs are converted back to
spaces, again assuming tabs every eight
columns. But many files are edited with
a four-column, tab-stop setting, and the
TLiB default still will retrieve the file
with spaces inserted for tabs assuming
tab stops at every eight columns. Fortu¬
nately, TLIB has a configuration option
to leave tabs and spaces as they are
during both check in and check out.
Another file modification that is per¬
formed—and cannot be optionally
turned off—is the stripping of trailing
blanks on a line. If an application re¬
quires that these spaces remain, then
TLIB cannot be used.
The archive files maintained by
TLIB can be placed in any directory by
specifying a PATH configuration option
to TLIB. Part of this option also tells the
system how to generate the name for
the archive file based on the extension
of the working file being stored. This
extension calculation is not quite as
flexible as that provided in Polytron’s
pvcs, but is much better than the de¬
fault extension of .TLB. Using the de¬
fault causes collisions between files
such as file.c and file.h when both are
put under source control. The calcula¬
tion in TLIB permits combining charac¬
ters from the source extension with
specified characters to create a unique
extension such .c$ for .c files and
.a$m or .asm. A configuration option
can be selected that causes archive files
to be made read-only to minimize the
possibility of accidental deletion.
Revisions of files are identified by
a single integer number with support
for neither major/minor revision num¬
bering nor branches. Files can be
locked when changes are to be made.
The lock information is stored in a sep¬
arate file in the archive directory. A cal¬
culation for the extension on this file
also can be given in the PATH option.
The lock information includes a user
ID obtained from the an environment
string TLIBID, or in the configuration
file ID option. User ID is checked
when the file is returned after modifi¬
cation, and the check-in is aborted if
they do not match. Locking must be
enabled in die configuration file and
the necessary commands also must be
enabled. When a file is checked out for
read-only use, referred to as browsing,
the work file does not have its read¬
only file attribute set.
Some problems were found with
the operation of the K command. This
command checks in a file that had
been checked out for editing, then
immediately checks it out for editing
again. When an unmodified file was
checked in with the K command, die
operation aborted because the FORCEU
option was not selected to allow check-
AUTOMATIC PROGRAM BUILDING
Source code management is one of
several steps involved in getting a
program into an executable form. The
SCMS can take care of making sure
that all of the proper revisions of the
source files are present. Then, many
steps must be followed in sequence
to create the final program. These
steps often are specified in a way that
allows for an automatic program
building utility, such as MAKE, which
is available under UNIX and with sev¬
eral compilers available for use with
DOS, to rebuild the entire program.
In a make file, all of the files that
must be present for the program to
be built are declared. The dependen¬
cies of certain files on other files is
also declared along with the steps
necessary to derive a target file from
its dependent files. A target file is
considered up to date if it has a later
time/date stamp than all of its de¬
pendent files. If any of the dependent
files has a newer time/date stamp
than the target, all steps specified in
the make file are executed to gener¬
ate a target file. If one of the depend¬
ent files is itself dependent on other
files, then it is first rebuilt, if neces¬
sary, to bring it up to date.
For this process to work the
time/date stamp on files is critical.
The safest approach is to have a work
file extracted from the SCMS archive
with the current time and date. This
would force the rebuilding of all of
the files that are dependent on this
file. When a previous version of an
entire program is to be built, often
the operation is performed in an
empty directory beginning with a get
of all the appropriate revisions of the
source files for this program version.
The entire system is then rebuilt.
For day-to-day development, op¬
erating in this manner can cause extra
compilations. Storing object files in
an object library and then deleting
the object from the development di¬
rectory is common practice. The
time/date stamp on the library file is
not a reliable indication of the time/
date of one of the objects that it
holds. A smarter program builder
could determine the time/date of an
object file within tlie library and then
determine if a compilation must be
done. Carrying tliis one step further,
the program builder could deal en¬
tirely with revision IDs. Using an
SCMS that includes revision identifica¬
tion that propagates into the object
files, a program builder could detect
if the objea file was derived from the
requested revision of the source file.
The time/date stamps are ignored
completely because they are an arti¬
fact of the real issue, namely, “Did
this object come from a certain revi¬
sion of the source file.” Both
Polytron’s and Seidl’s source code
management systems have separate
MAKE type products that provide
some of these features.
At present, automatic program
builders make an attempt to eliminate
inconsistencies—that is, they make
sure the object code that is used to
build a working system was generated
from the correct revisions of all tlie
source files. The next generation of
these programs will no doubt use ar¬
tificial intelligence techniques to man¬
age inconsistencies rather than com¬
pletely eliminate them. Rules will
specify permissible inconsistencies.
One such example is if the object
code dependent on a source file is
not up-to-date, but the changes that
occurred in tlie later revisions of the
source file are only in comment
fields. This type of inconsistency can
reniain without affecting the opera¬
tion of the final program, and the
recompilation step can be omitted.
Al-based program builders will
have a tight coupling with the compil¬
ers and SCMS. Information will be
available concerning the areas of a
program that have been affected by
changes in the source code. The auto¬
matic program builder will use this
information to manage the inconsis¬
tency between tlie object file and
source file and provide the user with
details of that areas of the program
that are not up-to-date. The user will
specify rules that define the sections
of a program and the allowable level
of inconsistency. The result will be
fewer operations performed to gener¬
ate development copies of the execut¬
able programs. Having fully consistent
final production versions of the pro¬
grams released would be prudent.
—Jim Vallino
SEPTEMBER 1987
59
You probably already
know that assembly
language subroutines
are the smartest way to
get the fastest programs.
But if the complexities
of working in assembler
made you think twice,
here’s some good news.
We’ve made Microsoft®
Macro Assembler Version
5.0 a lot easier to use.
We eased the learning
process by giving you the best
support around. We com¬
pletely revised our docu¬
mentation. The new Mixed
Language Programming
Guide gives you step by step
instructions for hnlmg your
assembly code with Mcrosoft
QuickBASIC, C, FORTRAN,
Pascal and other languages. And
you get a comprehensive refer¬
ence manual with hstings of the
instruction set and examples of each instruc¬
tion. We didn’t stop there, though.You also
get an on-disk collection of templates
and examples.
We’ve also dramatically simplified the
high-level language interface. In just a few
simple steps, you can be
calling Macro Assembler
subroutines from pro¬
grams written in your
favorite language.
Now that you’re writ¬
ing the fastest programs,
Microsoft is giving you
the fastest way to de¬
bug them. For the first
time, we’ve added our
CodeView® debugger
to Macro Assernbler.
With source code
and comments on your
screen, Microsoft Code¬
View makes debugging pro¬
grams containing assembly
language subroutines a snap.
And you’ll be glad to know that you
don’tsaciifice any speed for all the ease of use.
We took the fastet Macro Assembler on
the market and made it even faster.
So what are you waiting for? Get your
hands on Microsoft Macro Assembler and
see what it’s like to break your personal
speed hmit
H^aosoU'
For more information or for the name of your nearest
Micrasoft dealer, call (800) 426-9400. In Washington State c'md
Ma.ska, (206) 882-8088. In Canada, call (416) 673-7638.
Microsoft, the Microsoft logo and (CodeView are registered trademarks of Microsoft Corporation.
CIRCLE NO. 150 ON READER SERVICE CARD
CODE MODULES
TABLE 1: SCMS Features
BURTON
DATALIGHT
H&S ASSOC.
POLYTRON
QUILT
SEIDL
Product
TLIB
BRICKS
SCIL
PVCS
SRMS
SVM
Version
3.0
1.23
1.24
1.4a
3.0
1.05
Price
199.95
$159.00
$349.00
$395.00
$185.00
$299.95
Specific directory structure
o
•
O
O
•
Revision locking
o
•
•
o
User identification
•
o
•
•
o
o
Revision deletion
o
o
• (tip)
• (any)
• (tip) ■
o
Symbolic version labeling
Batch file
•
•
•
•
•
Branching
o
o
With vers.
Unlimited
1 level
8 levels
Merging
•
o
•
•
•
•
Key words
o
O
•
Replace
o
Difference program
•
•
•
•
•
•
Activity logging
o
o
o
•
O
o
Screen-base interface
•
o
•
O
•
•
User configurable
•
o
o
•
o
Archive file write-protected
o
o
•
•
Archive file name
Extension
calculated
Work file
Fixed
extension
Extension
calculated
Work file
Work file
Revision comments
Single line
Multiline
Multiline
Multiline
editable
Multiline
Multiline
editable
Work file time/date stamp
Current
Current
Current
Original,
current
Original,
current
Original
Max. line length (char.)
254
512
300
65,535
255
512
Max. number of lines.
32,000
65,535
64,000
1 G lines
5,000
16,383
Max. number of revisions
32,767
65,535
999
1,500
500
>2 million
Manual size, style
110+ pp..
40 pp.,
160+ pp..
120 pp..
130+ pp..
215 pp.,
typeset
typeset
dot matrix
typeset
typeset
typeset
• = Yes Cwretit directory^
0=No * Optional
^ Revision comments only
Archil 'e location __
All of the products reviewed in this article provide the basic functions that are necessary to code management, but two stand
out: PVCS provides everything that is needed for a large project; TUB is a very complete system for its low price.
ing in an unchanged file. The
DELETESRC option was active, which
caused the working file to be deleted.
The lock on the file is kept, correctly,
but no check-out of the file is per¬
formed. The file had to be checked out
manually to get another working copy.
The documentation says that
DELETESRC does not affect the K com¬
mand, but this does not seem to be
true because the work file remained
when a K command was performed
with DELETESRC set negatively.
iiiB provides a unique feature
among the products reviewed. The
user can specify customized prompts
and help messages in the configuration
file. This allows for personalized opera¬
tion or can provide information spe¬
cific to maintaining code for a project.
A file that is checked in after edit¬
ing can have a single comment line
added as a revision description. As an
option, TLiB can include in this line the
check-in time and date. The accumu¬
lated revision history also can be added
to the working file by key-word substi¬
tution. The specification of the location
in the working file for tliis information
is a little confusing at first, requiring
column counting and line spacing in¬
formation. No key word is provided for
insertion of only the revision number
as an identifier that would propagate
through to object files and executable
code. When a file is retrieved from the
archive, no matter what revision is re¬
quested, the resultant working file will
always have the current time and date.
It must be said that this is a conserva¬
tive approach for automatic program
building since it forces a recompilation
of the source file.
iiiB provides version labeling in a
minimal fashion. The tlibsnap program
creates a DOS batch file that has a tlib
regress command for every file speci¬
fied. The regress command specifies
tlie latest revision as the one to re¬
trieve from the archive. A single re¬
mark line gives a description of the
revision retrieved. Files from several
libraries can be placed in one snapshot
file; new files can be appended later.
This is an ASCII .BAT file, so any neces¬
sary changes can be made easily, and
tlie files also can be maintained by the
source code manager.
The documentation states that iiiB
will support operation in a local area
network (LAN) environment and rec¬
ommends using the DOS 3.1 SHARE
program. (However, the system was not
tested on a network to validate this
claim for purposes of this review.)
niB turned in an excellent perfor¬
mance on all three tests used for this
review. On tests 1 and 2, it generated
die smallest library files, although its
times were average. When compared to
die systems that do not perform a com¬
paction technique when storing the
data, it also generated the smallest file
for test 3. It was, however, amazingly
fast in generating the delta.
Datalight, Inc. bricks is a utilitarian
SCMS—not many frills or options. The
library of archive files under bricks
SEPTEMBER 1987
6l
CODE MODULES
TABLE 2 : SCAIS l\nfonnaiice
BURTON DATALIGHT H&S ASSOC. POLYTRON QUILT SEIDL
Product
TLIB
BRICKS
SCIL
PVCS
SRMS
SVM
Test 1 file size
5,760
8,274
41,449
9,785
11,566
9,901
Get 1.0
2.1
70.0
12.2
9.8
10.1
1.8
Get 1.100
4.8
4.8
11.4
6.0
9.8
1.8
Test 2 file size
1,599
2,245
2,709
1,785
2,405
1,844
Get 1.1
2.5
2.8
5.2
2.2
2.9
1.6
Get 1.2
2.7
1.9
5.4
2.2
3.0
1.5
Test 3 file size
47,198
47,334
49,741
47,370
47,282
46,198"
Put 1.2 (min:sec)
0:19
1:44
1:16
0:41
5:29
0:48
Allfile sizes are in bytes. All times are in seconds except where indicated.
" In normal file mode; when compression is used, file size is 30,518 and time required for put is 0:44.
PVCS, SVM, and TLIB all exhibited good performance in the three tests for this
article. SVM generated a smaller file in test 3 than the others using its normal file
mode and a 34-percent smaller file when using its file compression option.
control are placed in a subdirectory
called BRICKS, in the directory where
the source files exist This is a manda¬
tory arrangement. The manual warns
that the user should neither disturb any
of the files in the bricks subdirectory,
nor add new files to it. bricks archive
files have the same name as the source
file, which can lead to confusion when
doing backups. The user can specify
where temporary files are placed by
setting an environment variable, TMP,
to the name of a directory. A RAM disk
can increase the speed of operation.
BRICKS has several separate pro¬
grams to perform the SCMS functions.
The two used most frequently are bi
(bricks check in) and bo (bricks check
out). The bi command is used to ini¬
tially place a file under bricks. Bi
creates a library file in the bricks
subdirectory. (It also creates the bricks
subdirectory if it does not exist.)
The get operation is performed
using the bo command. Both bo and bi
can have wild cards and lists of files
specified for multiple-file “gets” or
“puts.” BRICKS keeps track of a file’s sta¬
tus with a file time/date stamp. When a
revision of a file is pulled, the work
file gets the current time/date. The
BRICKS library file’s time/date is also
modified to this value. No means is of-
. fered of user ID or for locking a revi¬
sion when it is checked out. All
checked-out files can be written to, as
can the bricks libraries themselves.
However, the lack of write-protect on
the latter files could lead to disastrous
results with an inadvertent deletion.
If a work file has a later time/date
stamp than its corresponding bricks
archive file, it is considered out of
date. A bo operation will generate a
warning and not overwrite an out-of-
date file unless forced by a command
line option. When the user performs a
bi, the operation aborts if the file spec¬
ified is up-to-date. The user can force a
check in of the unchanged file via a
command line option. The bi program
checks time/date stamps only to deter¬
mine if a file is up-to-date, which, in
normal usage, is an accurate test. If the
user wants to check in to a work file
with a time/date stamp that is prior to
the last bo operation on that archive
file, the time/date stamp will have to be
brought up to the current time.
Version labeling is provided by the
bthread program. The current revision
of every file specified is saved in a file.
This thread file, as it is called by bricks,
can be used later to check out these
revisions of the files. The thread file is
an ASCII file that can be edited to
make changes to the version associa¬
tion for a single source file without
changing any other associations.
When a file is checked in, the
original source code remains in the
development directory. Automatic dele¬
tion of the working file is not pro¬
vided. BRICKS strips the trailing Ctrl-Z
(DOS end-of-file, or EOF, marker) from
a file. In one instance, when a file that
started with an EOF terminator was
checked in and then checked out, it
came out one byte shorter minus the
Ctrl-Z. Whether or not this is a prob¬
lem will depend upon the editor used.
The blog program displays the re¬
vision history of one or several files.
Multiline revision descriptions are en¬
tered by the user when the bi com¬
mand is executed. Editing of a descrip¬
tion can be done only on the current
line being entered. If multiple files are
checked in together, the user can, op¬
tionally, use the same revision descrip¬
tion for all. A program also is provided
to display differences between two files
or a file and a revision in a bricks li¬
brary archive. This information cannot
be used to update a file because the
package has no program to generate a
new file from the original and a set of
differences. Neither does bricks have
facilities for deleting a revision from a
library file. Branches and key-word
substitution are not supported.
BRICKS’ performance on the tests
falls in the middle of the pack. It is
obvious from the time differences for
extracting the first and last revisions of
the file in test 1 that bricks uses re¬
verse deltas: its extraction time for the
first revision was the longest.
H&S Associates. The Source Code In¬
teractive Librarian (sen) is a complete
SCMS package; even so, this implemen¬
tation leaves a lot to be desired. Its
philosophy is unconventional compared
to that of the other products reviewed
here, and much of its nomenclature is
different from what has become com¬
mon usage to other SCMSs.
sen runs from a single program
using either an interactive mode, or the
user can specify the necessary informa¬
tion on the command line. The interac¬
tive mode is line-oriented using a
question-and-answer format, sen asks
the questions and the user types the
answers. Help information is available
at the various prompts for input, but
the help text files are required to exist
in the current directory. This can be
cumbersome especially in cases where
several projects in separate directories
each requires a copy of all help files.
sen uses the concept of a library
of source files. The library contains
several frames, each of which can cor¬
respond to one source file module in
the program. Information about library
configuration is kept in a .SCL file, and
each frame is maintained in a .SCF file.
None of these files is write-protected.
Before a file can be put under source
control by sen, its frame must be
added to the library. As a frame is
modified, it progresses through several
“levels,” each of which is equivalent to
a revision. Level numbers are single
values from 1 to 999. Symbolic version
labels are called releases and operate in
a way that is similar to version labels
in other products.
sen also adds the concept of a ver¬
sion; the sen version is a mechanism to
specify that the changes made to a file
are valid only for a specific version of
the file. Source files can be retrieved
by the version name, and only changes
stored as part of that version will ap-
62
PC TECH JOURNAL
pear in the resultant work file. The soil
manual specifies that this feature can
be used to maintain one frame for sev¬
eral different operating systems or to
maintain several source files in one
frame. The utility of the latter is ques¬
tionable, although the former provides
a capability similar to branching. Merg¬
ing of versions is available.
sen provides minimal user custom¬
izing or configuration for placement of
files. All library files and frame files
must reside in the current directory.
For every command, the name of the
library and the name of a frame must
be entered. When in interactive mode,
it would aid the user tremendously if
the previous library name could be
used as a default value.
Frame names can be a maximum
of eight characters (periods and colons
are not allowed). To distinguish be¬
tween a source file test.c and test.h,
the extension must be embedded in
the frame name, such as teste and
testh, respectively. This will cause a
problem if the base file name plus ex¬
tension is more than eight characters.
When a frame is pulled from a library,
a single extension is used as the de¬
fault for every frame in the library. The
frames above would be named
testc.get and testh.get as defaults. This
default file name can be overridden
with the -G option, but no means is
available to specify the desired file
name from the command line. This
makes its use in a batch file or by an
automated program builder difficult.
To avoid some of these problems,
the programmer can create a separate
library for each type of file used. One
possible arrangement keeps all C pro¬
grams in a library of C frames and de¬
faults the get extension to .c. Similarly,
C include files would be in another li¬
brary that used .h as the default get file
name extension. Frame names are the
same as the file name without an ex¬
tension in this method. Each library
also must specify a frame file extension
because collisions could occur if all
libraries used the .SCF default. The soil
user manual provides no guidance or
examples for organizing project source
files as described above. The unfortu¬
nate part of this is that more and more
files other than the frame file must be
saved to do a complete backup.
One library paranieter that can be
changed when a library is initially cre¬
ated is the control record character
(the default is @). The manual clearly
states that no file maintained in the li¬
brary can have a line that begins with
the control record character. This is the
only SCMS that places a constraint on
the contents of files being controlled.
The control record charaaer can be
changed, but only before any frames
are actually stored in the library. If a
problem develops later with a frame
starting with the control record charac¬
ter, no method is specified to correct
the problem.
During a get operation, sen gener¬
ated an error message because of a
missing lead comma before the frame
name on the command line. It then
continued to process the request only
halfway—putting a lock on the frame
^\he Polytron Version Con¬
trol System is oriented to¬
wardflexibility and ease of
use. Each system file per¬
forms one operation.
but not actually creating a copy of it.
This lock had to be removed manually
to get a copy of the frame. During an¬
other operation, sen prompted for
frame names when building a new li¬
brary. The user has to provide a cor¬
rect input value. The operation could
not be aborted without pressing Ctrl-C.
This caused the opened library descrip¬
tion file to be left behind with a leng^
of zero. When an attempt was made to
build the library again, sen complained
about the presence of this file and
aborted the operation.
sen does maintain locks on files
that are checked out for editing. It is
possible to write to all checked-out
files, and the system does prompt for
permission to overwrite an existing
copy of the file. A name for the owner
of the lock is requested. The default
mode for the get operation is a check
out for editing. In order to get a read¬
only copy, the -x option must be speci¬
fied. A file can be checked in only if a
corresponding get is active. Following a
delta operation, the default is to delete
the working copy of the file but this
can be overridden with -k.
One display command shows the
current options for the library, metrics
such as lines that are added/deleted for
each level of one or several frames,
and the log of comments entered when
frames are checked in. These level
comments can be multiple lines long
with simple line editing capabilities
available when entering the informa¬
tion during a put operation.
The documentation for sen comes
in a spiral-bound, 8.5-by-ll inch book
with pages printed on a dot-matrix
printer. Some sections, notably the
index, were especially difficult to read
because they had been printed in a
compressed mode.
The sen file generated for test 1
was larger than the next biggest file by
more than a factor of 4. It is also the
case that sen performed slower than
average in all three tests.
Polytron Corporation. The Polytron Ver¬
sion Control System (pves) is one of
several CASE tools available from this
company. Pves is oriented toward flexi¬
bility and ease of use. The system’s
operation can be controlled mosdy
through configuration files. The system
is composed of several programs, each
performing one operation. When a Pves
command is given, the system begins
by checking the current directory for
the vcs.cfg file. If it is not found, the
command then looks for an environ¬
ment variable called VCSCONFIG and
uses the associated string as the name
of a configuration file. Items that can
be specified in the configuration file
include user ID name, the directory in
which library archive files are main¬
tained, and the directory in which tem¬
porary work files should be placed.
The user ID can be specified in the
configuration file or via an environ¬
ment variable called VCSID. Configura¬
tion files can be nested, a feature that
allows for project-wide configurations
to automatically perform a user-specific
configuration.
As a default, all files maintained by
pves have their read-only file attribute
set. This helps to prevent accidental
deletion of library archive files. All the
information for a given source file is
kept in a single file maintained by Pves.
This file, referred to as the log file, is
given the same base name as the
source file and the extension is calcu¬
lated using the LOGSUFFIX configura¬
tion option. For example, with the de¬
fault value for LOGSUFFIX, Pves keeps
a .c work file in a .c_v log file, while
.ASM files have a j\SV file extension.
Any operation that causes 'a change
to a log file generates an entry in a
journal file if the JOURNAL configura¬
tion option has been specified. Differ¬
ent projects or subsections of a large
project can use different journal files
by changing the name specified in the
configuration file. A journal entry
shows the log file, user ID, time/date
and action performed. The VJOURNAL
SEPTEMBER 1987
63
Mitsubishi
Makes Tbday^ Selection
Of A Person^ Computer
A Little Easier
The Mitsubishi MP 286:
Quality and compatibility
Finally. An industry standard
PC that offers the perfect balance of
size and power. The small 15" x 15"
footprint fits on any desktop, yet is
big enough in performance and relia¬
bility to earn the name Mitsubishi.
A company which has been con¬
tinuously marketing high quality
compatible personal computers
in the U.S. since 1983.
With all the advantages of
uncompromising quality and com¬
patibility, it^s no wonder the MP 286
is the PC of choice among business
professionals.
Productivity and
performance*
Available with EGA, auto¬
tracking Diamond Scan™, or mono¬
chrome monitors, the Mitsubishi
MP 286 provides everything you
need for greater productivity.
Today.
The MP 286 is designed with
proven features and capabilities for
maximum performance. Features
that include an 80286 microprocessor
that operates from6MHz up to
8MHz/0wait Six slots for expansion
and custom configuring. And for
added flexibility and functionality,
the Mitsubishi MP 286 can run vir¬
tually every MS-DOS® compatible
software program. Additionally, the
MP 286 can support most Xenix®-
based applications.
Stay with the standard.
When you’re selecting a
new PC, consider the advan¬
tages of convenience and
flexibility provided by the
industry compatible, smaller
footprint MP 286. Compat¬
ibility with these currently
available hardware and software
products maximizes your return on
investment It should make your
selection a little easier.
The value of a diamond.
It all adds up to the ultimate
value in personal computers. And of
course, backed by the worldwide
resources of one of the biggest names
in computer technology: Mitsubishi.
Our name and logo symbolize
an ongoing commitment
to product quality, design
innovation and cus¬
tomer satisfaction that is
also an industry standard.
Tbu can be sure our new
MP 286 can make a powerful
difference in your business produc¬
tivity now and into the future. After
all, you have our name on it.
Mitsubishi Electronics America,
Inc., Computer Systems Division,
991 Knox Street, Torrance, CA
90502. Call 1-800-556-1234, ext 25.
In California, 1-800-441-2345, ext 25.
MITSUBISHI
PERSONAL COMPUTERS
Assembled in the U.S.A.
CIRCLE NO. 237 ON READER SERVICE CARD Diamond Scan is a trademark of Mitsubishi Electronics America, Inc.
MS-DOS is a registered trademark of Microsoft Corp.
Xenix is a registered trademark of Microsoft Corp.
© 1987 Mitsubishi Electronics America, Inc.
CODE MODULES
program allows a user to display jour¬
nal entries qualifying the selection in
the following way. date, logfile name,
operation, and user ID.
When a user checks a file out for
editing, the revision can be locked.
Multiple revisions of the same file can
be locked by different users. A given
user can, however, lock only one revi¬
sion of a file. The locking information
is maintained within the log file; thus,
pvcs is the only system reviewed that
does not use a separate file to support
revision locks. An error message is
generated if a user attempts to check
out a locked revision for editing. When
the revision is taken out for editing,
the resultant work file is writable,
while revisions that are checked out for
reading have the MS-DOS read-only file
attribute set. This can be changed with
a configuration option so that all files
checked out are writable. If a writable
work file of the same name already
exists when the checkout is performed,
the user is asked for permission to
overwrite. Command-line options for
the GET command can specify auto¬
matic overwrite permission or denial
that allows GET to run in a batch file.
The extracted work file receives the
revision’s original time/date stamp by
default or, if desired, it is possible to
get the current time and date.
When a user checks in a revision,
the system examines the user ID for a
match with one of the revision locks. If
the current user does not own a lock,
an error message is generated. Other¬
wise, the delta is performed according
to the revision information in the
user’s lock. All revision locking can be
disabled from the configuration file but
has an effect only when an archive is
first created. After that, the locking
action is stored in the log file and can
only be changed using the VCS utility.
If a revision other than the tip of a
branch or the trunk is accessed for ed¬
iting, PVCS assumes that a new branch is
to be created from the revision that has
been retrieved and will do so when
the modified file is checked in.
PVCS provides one additional con¬
trol feature that is not found on any of
the other products in this review. A
given source file can have an access list
specified. The user ID of the operator
who initially checked in the source file
to PVCS is considered to be the owner
of the file. This user may specify a list
of user IDs to be considered the access
list. Only user IDs on this list are given
permission to access information in the
log file. In this system, access lists are
stored in the individual log files. The
general VCS utility can be used to
change the access list or owner ID.
pvcs allows revisions to be deleted.
Most systems that have this capability
allow revisions to be deleted only one
at a time from the tip. In one opera¬
tion, pvcs allows one or several revi¬
sions to be deleted from the tip. It is
the only system reviewed that also al¬
lows revisions to be deleted from the
middle of a development trunk or
branch. The remove delta function,
performed with the VCS utility, com¬
pensates for the removal of intermedi¬
ate deltas by adjusting the remaining
*\he PVCS key-word expcin-
sion is the best, with
words for mer ID, revision
date, logfile path, and revi¬
sion description comments.
delta information. Caution should be
exercised when deleting revisions
using wild-card specifiers: pvcs gener¬
ates an error message and aborts if the
user tries to delete a locked revision or
a revision with a branch.
When a file is checked in, the user
is prompted for revision comments. If
an editor has been defined to pvcs in
the configuration file, it is used for en¬
tering the comments. This takes a little
longer to start the editor running, but
it has the advantage of making it easier
for the user to correcdy enter multiline
comments for the revision. If no editor
is defined by the user, then a line edi¬
tor with a full selection of commands
is provided by pvcs.
The pvcs key-word expansion is
the best of all the systems reviewed.
Key words are available for user ID,
revision date, log file path, and a log of
all of the revision description com¬
ments. Key words are expanded by de¬
fault. The expansion is not a substitu¬
tion, however, which means that once a
key word has been placed into a
source file, it will not need to be in¬
serted again; and for every get from
PVCS, the key word will be expanded.
This feature is useful in ensuring that
revision identification always propa¬
gates through to object files and exe¬
cutable code. PVCS includes the ident
program, which scans any type of file
and prints out all key-word strings
found in the file. This often is used to
scan object and executable files to de¬
termine the source code configuration
that created them.
The vdiff program calculates differ¬
ences between revisions. Comparisons
can be made between two work files, a
work file and a revision in the log file,
or two revisions in the same or differ¬
ent log files. The specification of the
two sources for comparison is very
flexible. The output from vdiff can be
saved into a file to be used later by the
regen program to create the second
file from the original one. In addition,
the merge program, vmrg, combines
two source files into one.
PVCS supports symbolic version la¬
bels. All label information is kept in
the log files for each source file. As is
the case with most PVCS commands,
wild cards can be used to specify file
names; this method provides an easy
mechanism to label all the latest revi¬
sions of a project with a version associ¬
ation. If an association for the label
specified already exists in a file, the
user is prompted for permission to
change it. Alternatively, a command
line option can be set to grant or deny
this permission automatically. Version
labels can be used in pvcs commands
in place of a revision specification.
PVCS also provides vlog, a program
that displays information about files in
the archive. The user does not have
control over the type of information
displayed. Output is either brief, which
shows information only about the log
file, or full, which shows file names,
locks in place, number of revisions,
and the description of each revision.
Output can be qualified by date, revi¬
sion, version, or author.
The first version of pvcs tested for
this review (1.3) exhibited some unex¬
pected behavior when used with cer¬
tain files. The delta detection algorithm
had difficulty with files that contained
few unique lines. Small changes in
such a file resulted in large changes in
the size of the archive file; however,
such files are atypical in normal use.
The problem was observed during this
review when a large file was created by
duplicating a smaller file many times.
This problem did not occur with any of
the files that were generated through a
“normal” development process. When
notified, Polytron support personnel
provided an updated version of pvcs
(1.4a) that solves the problem. Users
who encounter this problem also may
obtain an update, pvcs performed well
in the benchmark tests.
The Polytron documentation pro¬
vides a good description of how librar-
SEPTEMBER 1987
65
EXTRA EXCITEMENT FOR
THE NEW GENERATION.
INTRODUaNG THE MOST
POWERfUl 3270 SOFTWARE
FOR THE PS/2:
If you think EXTRA! Connectivity Software™ is just another dumb
terminal emulator, hold on to your keyboard because you’re in for a
powerful surprise.
EXTRA! offers more connections to high places for the new genera¬
tion of IBM® PS/2™ computers and the PC/XT/AT—even the 3270-PC.
EXTRAl’s universal connectivity lets you keep the same friendly soft¬
ware over coax, modems, or local area networks using hardware adapters
from IBM, Attachmate or IRMA™
Extra Power at Your Fingertips.
EXTRAl’s powerful features include up to four mainframe sessions,
printer emulation, and a choice of file transfers—including a better way
to exchange documents and PC files with DISOSS. Plus the power of
our IBM compatible 3270-PC API and HI T APT
You even have the options of adding host graphics and LAN Gateways.
attachmate
Find out what all the excitement’s about. For
more details on EXTRA! and a free copy of our Quick
Reference Guide for Micro-Mainframe Communications,
call toll free: 1 - 800 - 426-6283
Quality Micro-Mainframe Solutions.
Attachmate Corporation
3241 118th S.E., Bellevue, WA 98005
(206) 644-4010
CIRCLE NO. 165 ON READER SERVICE CARD
Copyright ® 1987, Attachmate Corporation. EXTRA! Connectivity Software is a trademark of Attachmate Corporation.
IRMA is a trademark of Digital Communications Associates, Inc. IBM is a registered trademark and Personal System/2
is a trademark of International Business Machines Corporation.
CODE MODULES
ies might be set up for a single pro¬
grammer shop, multiprogrammer
nonnetworked environment, or a net¬
worked environment. It also offers a
clear explanation of exactly how the
networked operation works, including
the mechanism that is used for locking
log files from simultaneous updates,
pvcs does not require the DOS SHARE
program in order to support net¬
worked operation. (However, no test of
networked operation were performed
for this review.)
Polytron currently offers two ver¬
sions of PVCS, network and corporate.
Network:PVCS supports operation in a
networked environment; Corporate:PVCS
runs on one machine in an environ¬
ment that is not networked. Both prod¬
ucts support the full set of features.
Polytron also has a third version called
Personal:Pvcs, which is meant for a sin¬
gle programmer operation and does
not support user IDs or revision lock¬
ing. Some of the auxiliary programs,
such as vdiflf and vmrg, are not sup¬
plied in the latter version.
Quilt Computing. Quilt’s Software Revi¬
sion Management System (srms) is the
easiest package to use, compared to the
other of these systems that provide a
screen-based menu, srms is composed
of several executable files, each of
which performs one of the operations
for managing source code. The initial
menu screen displays a list of most of
the programs that can be run. Once a
program is selected, a second screen
appears with entries for options and
file names. In the lower half of the
screen is a list of all available options
and a short description of each. An
error message is generated if the user
attempts to run an operation without
providing all necessary information.
The menu displays a particularly good
use of color highlighting.
Archive files under the control of
SRMS can be kept in any directory. The
environment variable SRMS$LIB identi¬
fies the directory in which the srms li¬
brary archives are kept. Library archive
files cannot be maintained in the work¬
ing direaory because they are given
the same name as the source file. In¬
stead, SRMS keeps information about the
library in several files. These include a
file named srms.cfg, over which the
user has no control, the individual ar¬
chive library files, and separate files to
maintain locking information and sym¬
bolic version data. However, only the
library files and the lock files have the
read-only attribute set.
SRMS does not support a user ID
but does determine the name of the
current directory when the get opera¬
tion retrieves a file for editing, liiat
name is stored in the lock file for the
source file retrieved. Each programmer
on a given project can have his own
directory to provide an indication of
the owner of the lock. When working
with SRMS, the programmer would
change the current directory to his per¬
sonal directory and then perform the
necessary SCMS operations. Also, com¬
ments can be stored in the lock file
that can include a user ID. When a
delta is performed and the current di¬
rectory does not match that stored in
the lock file, the operation is aborted.
SRMS has some problems with its
file locking. The most major of these is
that a file is locked with an auxiliary
guilt’s Software Revision
Management System is the
easiest to use of those with
screen-based menus; it
clearly displays all options.
file, the name of which is composed of
the base name of the file being locked
and a fixed extension of .px. If
module.c is retrieved with locking, a
file named module.px is created in the
SRMS library directory. Then, when the
user attempts to get module.h with
locking, the system says that the file is
already locked because module.px
exists. The only way around this is to
keep files that would collide in this
manner in separate directories. Inci¬
dentally, the documentation makes no
mention of this potential problem.
Another problem is that the .px
file maintains information about the
base revision and new revision that will
be created when a file is checked in.
The delta is performed from the base
revision specified in the .px file. In
many cases, this can lead to confusion.
Assume a file is checked with locking,
for example, revision 1.6 to create revi¬
sion 1.7. When the file is checked in,
the user wishes to create a new major
release by specifying the delta as revi¬
sion 2.0. The SRMS manual says that the
next revision information in the .px file
is ignored and the .px file is not de¬
leted when the operation completes.
The manual goes on to suggest that
this file be manually deleted. If it is
not, and someone checks in another
revision (srms allows this though
should nbt since no revision is legally
out for edit) the system will create a
new delta of 1.7 using a base of revi¬
sion 1.6 as specified in the .px file.
Now a new revision is present on the
trunk that is located numerically be¬
tween revision 1.6 and 2.0. When the
next get is performed, however, revi¬
sion 1.7 is considered the tip and it is
checked out to create 1.8.
SRMS supports branches; however,
the operator must explicitly state his
intent to create a branch when the get
is performed. If he performs a check¬
out for edit on any nontip revision
without specifying that a branch is to
be created, srms assumes that he wants
to use that revision as a base to create
the next revision at the tip of the
trunk. It would seem that this runs
contrary to the idea that deltas are ap¬
plied one after the other without skip¬
ping intervening revisions. Getting a
non-tip revision for edit should imply
the desire to create a branch.
Files that are retrieved without
edit permission are not set as read¬
only. Also, a file can be checked in
even if no revision of that file is out
for edit. This and the lack of a user ID
limit the usefulness of srms on a proj¬
ect with several programmers, srms al¬
lows only one revision of a file to be
out for edit at a time. With srms, a dis¬
tinction is made between taking a file
out for editing and locking it. The user
must explicitly specify the request for a
lock. If he does not, another program¬
mer can take out . a revision for edit
and will not know that module is al¬
ready out. This second get operation
could change the contents of the .px
file. Unless each programmer uses a
separate directory, unexpected results
could occur when the first programmer
performs a delta of modifications.
Using separate directories, the first pro¬
grammer would receive an error mes¬
sage when attempting to delta the
modifications. An SCMS that supports
revision locking should automatically
generate the lock at the time that a file
is taken out for edit. No convenient
method is available to remove a lock
on a file. Removing the lock requires
the user to manually reset the read¬
only attribute on the associated .px file,
then delete the lock file.
Often it is necessary to create a
new major release by checking out a
file for edit and returning it unchanged
at the new major release level, srms
does not provide a way to force the
check in of an unchanged file. The
message generated when this is at-
SEPTEMBER1987
67
Hoivv to teD the difiS^Hice
between I®]SQview'2J0 and
anj^otha'envmHmient.
DESQview
IPGn Uindou
Procter i
rtS: [W261 'Procter <1 Gamble Co
Suitcb Uindou:
Close Uindou
lIHTEBfWTIONAL BUSINESS «A
NCR CORP f S—<1BASE-Ill-Plus
GENERAL HT
iJ'i.mil'JCT iUnR
GREAT ATLA Lena
LisboTtn
Bidatb^
Garrseit
rZ—Ventura-Pub
Help for DESUuieu ?
Unit OESQuieu Q
|ihbto.f i Iv/Anfliro
rb—GrossTa Ik-XU 1-3.61—
Bialina - 3*Jfr'336lf - Pcie* coni
S electing DESQview,
the environment of
choice, can give you the
productivity and power
you crave, without the
loss of your old pro¬
grams and hardware.
If you like your existing
programs, want to use
them together, transfer
data between them,
print, sort, communi¬
cate with or process-
in-background, yet still
have the need to keep
in place your favorite
PC(8088, 8086, 80286
or 80386), DESQview
is the “proven true”
multitasking, multi- ^
windowing environ- One picture is worth
ment for you. Best of all, DESQview 2.0 is here now,
with all the money saving, time saving, and productiv¬
ity features that others can only promise for the all-
too-distant future.
And with DESQview’s new graphics enhancements
for Hercules, CGA, EGA, and VGA, Version 2.0 still
offers the same award winning and pioneering fea¬
tures for programs that earned DESQview its leader¬
ship, only now you can also run desktop publishing
programs, CAD programs, even GEM-7 Topview-",” and
Microsoft Windows-™ specific programs. In some cases
you’ll add as little as 10-40K to your system overhead.
Now you can have multi-tasking, multi-windowing,
break the 640K habit too and still get an auto dialer,
macros, menus for DOS and, for advanced users, a new
complete application programmer’s interface capabil¬
ity. No wonder that over the years, and especially in
recent months, DESQview, and now
DESQview 2.0 have earned extrava¬
gant praise from some of the most
respected magazines in the industry.
^'Product of the Year'* by readers
vote in Info World.
^'Best PC Environment" by popu¬
lar vote at Comdex Fall in PC Tech
Journal’s “System Builder” Contest.
/ wouldn't want to run an IBM
or compatible
computer without
DESQview"—b\fo-
World, Michael Miller.
colossus among
windowing environ¬
ments". .. ''will run
almost anything"—PC
Week, Marvin Bryan.
"Windows, prom¬
ises, hut DESQview
delivers"—MICPO-
TIMES, Birell Walsh.
No other environ¬
ment has consistently
pioneered features, open¬
ness, and productivity.
See for yourself. Send in
the coupon. The possi-
a thousand promises. endless with
DESQview 2.0.
Attention Programmers: For more information
about Quarterdeck’s API, and future 386 program
extensions, call us today.
SYSTEM REQUIREMENTS
IBM Personal Computer and 100% compatibles (with 8086, 8088,80286 or 80386
processors) with monochrome or color display; IBM Personal System/2 • Memory: 640K
recommended; for DESQview itself 0-145K • Expanded Memory (Optional): expanded
memory boards compatible with the Intel AboveBoard; enhanced expanded memory
boards compatible with the AST RAMpage • Disk: Two diskette drives or one diskette
drive and a hard disk • Graphics Card (Optional): Hercules, IBM Color/Graphics (CGA)
IBM Enhanced Graphics (EGA), IBM Personal System/2 Advanced Graphics (VGA) •
Mouse (Optional): Mouse Systems, Microsoft and compatibles • Modem for Auto-Dialer
(Optional): Hayes or Compatible • Operating System: PC-DOS 2.0-3.3; MS-DOS2.0-3.2 •
^ftware: Most PC-DOS and MS-DOS application programs; programs specific to
TapView 1.1, GEM 1.1 and Microsoft Windows 1.03 • Media: DESQview 2.0 is available
on either 5 " or 3*/4" floppy diskettes
PCT-c
ilMFO
WORLD
REPORT CARD
DESQview 2.0
No. of Copies
Media 31^76^*
Product
Retail Price ea
Ibtal
DESQview 2.0
$129.95
$
Shipping & Handling USA
Outside USA
$ 5.00
$ 10.00
$
Sales Thx (CA residents)
6.6%
$
Payment:
□ Visa DMC DAMEX □ Check
Amount
Enclosed
$
[ Credit Card: Valid Since _
Card Number I
Expiration
Credit Card Name—
Shipping Address_
City_
---.jm. Tblephone_
I Mail to: Quarterdeck Office Systems, 150 Pico Boulevard, Santa Monica, CA 90405.
I NOTE: If you own DESQview call us for a special upgrade offer, or send in your DESQview I
I registration card. AST Special Edition users included. I
WSQ
vie^
GKiarterdeck
Quarterdeck Office Systems • 150 Pico Boulevard, Santa Monica, CA 90405 • (213) 392-9851
PSmlfrki Office Systems. AboveBoard is a trademark of Intel Corporation. Hayes is a trademark of Hayes Microcomputer Products Inc. IBM, PC, Personal System/2 and TbpView are
L”atrSma?”ofSSl®h!\nTG''EMSmrm°aX?bS^^^
CIRCLE NO. 137 ON READER SERVICE CARD
CODE MODULES
tempted says only that the operation
was not performed.
SRMS is another system that does
not preserve DOS EOF marks when a
file is retrieved from the library. In
addition, an empty line just prior to the
Ctrl-Z in the original file was deleted
when the file was retrieved with a get.
Symbolic version labels are sup¬
ported by the sclass program, which
allows new labels to be defined and
modules to be added or deleted from
the association. An explicit revision
number can be given when adding a
module or it can default to the latest
revision. Unfortunately, it is not possi¬
ble to add several modules to a class
with one sclass command. Each mod¬
ule is added separately. Class informa¬
tion is kept in a classinfo.srm file.
It is also possible to delete an en¬
tire class association. The prompt gen¬
erated is a little unnerving, though,
because it asks if the operator if he
wants to “delete class and ALL associ¬
ated modules.” The manual specifies
that the actual modules will not be de¬
leted, but most users will hesitate be¬
fore striking the Y key to continue. A
cget program retrieves all modules in a
specified class. This is tremendously
helpful when rebuilding a prior ver¬
sion of a system. Sclass also can display
a list of all associations in effect for a
given symbolic version.
SRMS includes the key-word substi¬
tution feature with several key words
for file ID, revision ID, and time/date
stamps. The default for a get operation
is no key-word expansion. This is rea¬
sonable because when expanded, key
words are totally substituted that would
require editing to put them back if the
substitution were performed with every
get operation. The revision description
log also can be included by get. This is
accomplished by a command line op¬
tion, and the revision description can
be placed only at the end of the source
file. SRMS inserts the revision descrip¬
tion using comment symbols appropri¬
ate for the language in use based on
the extension of the archive file name.
A default symbol is used if the exten¬
sion is not recognized.
Several auxiliary programs are pro¬
vided for miscellaneous source code
management operations. Prthis will
print a revision history for one or sev¬
eral modules. This listing shows time/
date stamps for the revision, delta in¬
formation, and the revision comments.
The user has no control over format¬
ting the output or contents other than
to specify module names and a date
qualifier. Srmsinfo generates a listing of
the state of the srms library with re¬
spect to files that are out for editing or
that are locked. This program does not
accept a module name as a qualifier.
When srmsinfo module.c was acciden¬
tally run to display information about
this single module, the program gener¬
ated the status report using module.c
as an output file. This destroyed the
working copy of this source file in the
process. All modifications performed
since it was checked out were lost.
Sdiff produces a listing of differ¬
ences between two revisions of a file, a
revision in the library and a disk file,
Ow/ of this competent
field, TUB and PVCS are set
apart by their ease of use,
abundance of features, and
ability to be configured.
or two disk files. No utility is available
to take this difference listing and gen¬
erate a new file starting from the base
file. Smerge can be used to merge two
revisions of a file into one single file.
Performance test results for srms
make it to be average in speed and
size of the archive. It was the slowest
system to generate the delta from the
50KB file in test 3. At least it has a con¬
tinual output to the screen so the oper¬
ator can track progress.
Seidl Computer Engineering. The Seidl
Version Manager (svm) has the most
rigid requirements for directory struc¬
ture of all of the packages reviewed.
Source code is maintained in a project
directory. All svm operations must be ,
performed from this directory, svm
creates three subdirectories: ARCH,
BASE, and WORK. The ARCH directory
contains all of the svm library archive
files. The BASE directory holds a copy
of the base revision that is used to gen¬
erate the delta when a file is checked
in. The copies of working source files
are contained in the WORK directory.
An optional BACK directory can be cre¬
ated to hold backup copies of the svm
archive files, as a safety measure. Most
activity, such as editing and compiling,
is performed in the WORK directory.
To do a get or put operation in WORK
requires going to the parent directory
level in order to perform the svm oper¬
ations. Such required directory switch¬
ing is inconvenient.
All svm operations can be per¬
formed by executing the individual
programs or by running them from the
svm menu shell. Individual operations
are selected from the main menu,
which causes a submenu for each op¬
eration to appear. Additional menus are
available for entering the required in¬
formation for the current operation.
Some of these present too much infor¬
mation. An inexperienced user may
balk at the description for specifying
revision numbers in Backus-Naur nota¬
tion, or when, in performing a DOS
command, he has to choose whether it
is a system command or a program
command. The text on the menu de¬
scribes how system commands will
load a second copy of DOS, whereas
program commands simply will run
quicker because they do not.
When a file name is needed, a list
of available choices is obtained by en¬
tering *.*. For nonfile name entries, a ?
is used. During testing, the wrong one
was chosen, and the result was the cre¬
ation of a symbolic version label of ?.
SVM documentation is confusing
when it speaks of a file that has been
modified and not checked in. svm re¬
fers to this as a file that is “not
versioned.” This terminology can be
confused with symbolic version labels,
which SVM also supports.
This system has no user ID mecha¬
nism, nor can a lock be placed on any
file. When a file is retrieved using dget,
copies are placed in both the WORK
and BASE direaories. The version in
the BASE directory is used when dgen
performs the delta operation. It is from
the revision of the file in the BASE di-
reaory that the delta is generated.
Keeping a copy of revisions in the
BASE directory speeds up subsequent
SVM operations. Both dget and dgen
have options to effea the deposition of
files in the BASE directory. Unfortu¬
nately, no examples are given showing
the use of these options. Also, to back
up a system, it is not clear exactly
which files must be saved. It appears
that saving the files in the ARCH direc¬
tory is sufficient. Library archive files
are maintained with their read-only at¬
tribute set. Both dgen and dget allow
multiple files to be processed with one
command. A file retrieved with dget
receives its original time/date stamp,
however, the DOS EOF mark is not
preserved by the system. Branches can
be created by applying a delta to a
modified file for which the base revi¬
sion is not the tip of the development
trunk. No program is available for
merging a branch back into the trunk.
SEPTEMBER 1987
69
CODE MODULES
When a file is checked in, dgen
prompts fqr a comment (which can
have a maximum 2,000 characters);
however, the fine line editing capabili¬
ties available when keying in entries on
one of the menu screens are not avail¬
able when the user enters comment
lines. After the comment is completed,
the user can elect to edit the comment
with a user-specified editor. A user in¬
vokes this feature by defining an envi¬
ronment variable, EDITOR, to specify
the editor to run.
This is the only system that has an
option to store deltas with compres¬
sion. The documentation claims a 30-
to 70-percent storage reduction. Test 3
was run in both normal and com¬
pressed mode. The archive file in com¬
pressed mode was 34-percent smaller.
However, a time penalty is incurred
when running dget and dgen, which
means almost doubling of the time to
perform the delta during test 3. The
compression algorithm uses Huffman
encoding with tables selected for spe¬
cific languages based on file extension.
svM allows up to 100 threads to be
defined. This is the name used to refer
to a symbolic version label. Individual
modules can be assigned and unas¬
signed to these threads using dgen.
Symbolic version names that can be
associated with the threads are stored
in the VERSION.LOG file. This is a
read-only ASCII text file that is located
in the project directory, that is, the par¬
ent of ARCH, BASE, and WORK This is
generally the only file in that direaory.
Documentation is provided on the for¬
mat of this file, which can be edited if
the read-only attribute is cleared. Sym¬
bolic version names can be used in
place of revision numbers to specify
files for dget. svm also comes with a
program called dmake, which is used
for analyzing versions and extracting
source revisions from svm. Dmake com¬
municates information to Seidl’s SMK
automatic program builder about what
must be done to build the program.
The report generation capability in
SVM is the best of any of the products
reviewed. The dlist program gives full
control over the items of information
that will be displayed. The user also
has control over pagination of the out¬
put and a footer can be specified to be
printed with the report. If spaces are in
the footer, the entire option, including
the -FMT = introducer, must be en¬
closed in quotes, such as “-FMT = This
is the footer”. This is rather unusual
syntax for a command line option. This
footer can, alternatively, be declared in
the environment variable DLISTFTR
svm’s delta detection algorithm
exhibited the same problem with some
files that was seen with version 1.3 of
pvcs. A large increase in the size of an
archive file can result from small
changes in a file that has only one
unique line. No problems were found
with any other files tested, svm has the
fastest times for tests 1 and 2, and it
executed test 3 very quickly as well.
The close correspondence of this time
with the execution time for pvcs in test
3 along with the similar archive size
anomaly indicates that the systems may
use similar delta detection algorithms.
Test 3 shows a 34-percent reduction in
archive size when compaction is used.
Also, note that some file compression
is achieved in the normal case as well
since the archive file after two deltas
(46,198 bytes) is smaller than the origi¬
nal file. Surprisingly, the time for oper¬
ation when compaction is performed is
shorter than for the normd case.
RESOURCEFUL
All of these products provide the basic
functions necessary to source code
management. Some are more cumber¬
some to use than others, requiring spe¬
cial direaory arrangements and special
care in file naming, and each has its
shortcomings. Out of this competent
field, the two best packages are Burton
Systems’ tub and Polytron’s pvcs, so
designated because of their ease of use,
abundance of features, and ability to be
configured by the user.
TUB is an excellent SCMS overall.
Its archive file sizes are small and the
speed of operation is very good. User
configuration control gives the capabil¬
ity to adjust most features of the system
for particular projea needs. It is only
lacking in some features, such as multi-
line editable revision descriptions and
support for branches or a frill set of
key words. Without question, if'price is
a strong determining faaor in selection
of a system, tub cannot be beat.
In terms of features, pvcs provides
everything necessary to a large mul¬
tiprogrammer projea—more than any
other package reviewed. No restrictions
are placed in the development environ¬
ment and all aspects of operation can
be customized for specific project
needs. Power has a price, however, as
PVCS is the most expensive purchase.
However, its performance was also
above average in all three sets.
No matter which package is se-
leaed, its usefulness is only as good as
the discipline a single programmer or
, an entire programming staff is willing
to exert in continuous source code
maintenance. Often, team members
balk at the level of control imposed on
them and try to finds ways to bypass
the system. This might help solve a
near-term problem but can create seri¬
ous headaches in the future. If team
members can see the advantages of an
SCMS—that it increases productivity
and is easy to use—they will be more
inclined to use it. Certainly, any one of
the reviewed systems is more produc¬
tive than manually maintaining changes
to source code. I nimuiiii BBI
Burton Systems Software
RO. Box 4156
Cary, NC 27519-4156
TUB 3.0
9191469-3068
CIRCLE 347 ON READER SERVICE CARD,
Datalight, Inc.
17505 68th Avenue NE
Suite 304
Bothel, WA 98011
BRICKS 1.23
8001221-6630; 2061486-5226
CIRCLE 348 ON READER SERVICE CARD
H & S Associates
1335 Hotel Circle S
Suite 206
San Diego, CA 92108
Source Code Interactive Librarian
(SCIL) 1.24
6191692-9464
CIRCLE 349 ON READER SERVICE CARD
Polytron Corporation
1815 N.W. 169th Place
Suite 2110
Beaverton, OR 97006
Polytron Version Control System
(PVCS) 3.0
8001547-4000; 503/645-1150
CIRCLE 350 ON READER SERVICE CARD
Quilt Computing
7048 Stratford Road
Woodbury, MN 55125
Software Revision Management System
(SRMS) 3.0
612/739-4650
CIRCLE 351 ON READER SERVICE CARD
Seidl Computer Engineering
3106 Hilltop Drive
Ann Arbor, MI 48103
Seidl Version Manager (SVM) 1.05
313 / 662-8086
CIRCLE 352 ON READER SERVICE CARD
Jim Vallino is a PC programmer with more
than a decade of experience in the areas of
microcoding high-level applications, and
assembly language programming.
PC TECH JOURNAL
70
Recent PC
announcetnents
have left
Cai5)aq
inan
enviaHe
poatkB.
StiUthe
performance leader
12-MHz COMPAQ PORTABLE III
is the smallest, most powerful full-function portable there is.
different storage devices on all
COMPAQ desktops.
Examine compatibility. We
let you use all the industry-
standard software and ex¬
pansion boards that you
already own.
Demand for the 12-MHz
COMPAQ DESKPRO 286 has nearly
doubled since the PS/2 introduction.
I n the midst of the
clamor surroimding the
new IBM® PS/2 personal
computers, one thing is
perfectly clear to people
who really know PC's.
COMPAQ® personal comput¬
ers stiU work better. They
enhance your produc¬
tivity within
the industry
standard, and
give you maxi¬
mum perform¬
ance from the
world's largest
library of busi¬
ness software.
COMPAQ personal com¬
puters prove superior in overall
performance.
Take speed. The COMPAQ
DESKPRO 286® runs your soft¬
ware up to 20% faster than its
PS/2™ counterpart. And, the
COMPAQ DESKPRO 386™
sets all records for speed in
advanced-technology, industry-
standard personal computers.
Consider flexibility. Compaq
offers 5V4" diskette drives, and
allows you to add 3V2" drives.
In fact, you can add up to four
Look at expandability. Our
industry-standard slots enable
you to add many extra func¬
tions. So you can
configure your sys¬
tem exactly the way
you want it.
Finally, compare
portability. You
can't. The 12-MHz
80286-based
COMPAQ
PORTABLE III™
is the imdisputed
leader. It offers the
performance of a desk¬
top without any of the
compromises you'll find
in other portables.
Compaq applies
innovative technology
within the industry
standard, without sac¬
rificing compatibility.
DESKFiC ..
386/130 dESKPF._
286^40 Model80-71 ,bmp^_
Model 50
COMPAQ
fixed disk drives
can access data up to 2 V 2
times faster than PS/2 drives.
Earn higher returns
on your investment
American business has
$80 billion invested in
It still simply works better.
IBM, OS/2 and PS/2 are trademarks of International Business Machines Corporation. MS OS/2 is a product of Microsoft Corporation.
©1987 Compaq Computer Corporation. All rights reserved.
works better:
Two-way compatibility
Compaq has be¬
come famous for
its legendary
compatibility
and connectiv¬
ity. Our per¬
sonal computers
will run thou¬
sands of pro-
the current PC standard, in¬
cluding 72 million software
and hardware products, and
himdreds of millions of hours
in training.
Compaq designs its comput¬
ers to protect your investment.
And because they do more,
they also maximize it.
The COMPAQ
DESKPRO 386
sets the standard
for high-performance,
advanced-technology
desktop computing.
grams, without modifi¬
cation, far faster than
other computers. And
they work with all the other
compatible computers in your
office, without time-consuming
diskette conversions.
As for the future, all 80286-
and 80386-powered COMPAQ
personal computers will run
the new MS OS/2 operating
system, allowing you to di¬
rectly access up to 16 mega¬
bytes of memory. And they'll
run all the applications de¬
veloped for OS/2™. Again,
much faster.
We don't burn bridges,
we build them
At Compaq, advances are mea¬
sured by our ability to push
technology forward, without
leaving you behind.
The new
MS OS/2 oper¬
ating system will run
on all 80286- and 80386-
based COMPAQ personal computers.
COMPAQ computers let you
incorporate developing technol¬
ogy, and take advantage of the
latest technology in a way that's
fully compatible with the hard¬
ware, software and add-ons
you already own. So Compaq
protects your investment.
These are all reasons why
recent surveys show COMPAQ
owners are the most satisfied
personal computer users.
Call 1-800-231-0900, operator
39, for inf ormation and the loca¬
tion of your nearest Authorized
COMPAQ Computer Dealer. In
Canada, call 416-449-8741.
comPAa
This extensive set of metrics to test piinting
capabilities determines how laser printers
m^psure tip to the HP standard.
i^'ASC>
'0&Mi
4
m
honed the standard for sophisticated
desktop printing applications with its
LaserJet Series 11. However, it changed
very little of the original printer com¬
mand language (PCL) that the com¬
puter uses to drive the printer. HP’s
PCL has become a standard just as the
Hayes AT modem command language
is the standard in communications.
Many other manufacturers, have
introduced laser printers that compete
with and try to improve oh the original
LaserJet models. PC Tech Journal has
developed a set of software metrics,
presented here, to rate the plethora of
available printers against the HP stan¬
dard. A companion article immediately
following this one describes how other
printers measure up to the HP standard
Csee “Hiser Performance," Rainer
McCown and Heeth Clark, p. 100).
S ince their introduction in 1984,
laser printers have made the tran¬
sition from a luxur>^ to a eommod-
ity item. The majoriy of users now in¬
stall laser printers as high-speed re¬
placements for daisy wheel and other
letter-equality printers. In this senace
they perform admirably, but much of
their talent lies untapped. Working in
tandem with desktop publishing sys¬
tems, laser printers are capable of pro¬
ducing printed documents far more
sophi.sticated than those ejected by or-
dinar\' letter-quality printers.
Hewlett-Packard was responsible
for introducing the laser printer to the
PC world; its line is the most prevalent
and is considered the standard by
which all others are judged. First to
corne on the scene was the HP Lasetjet,
followed by the biserjet+. Recently, HP
234;56189 '123456789
23456789 1 23456789 I2%6789
PI 10T0GRAI>UY * LIGUTSTRUCK STUtyOS
LASER METRICS
THE LASER ENGINE
The laser printer is a byproduct of the
personal copier industry. Laser printers
are part of a larger class of printers
that use a toner transferred to a
charged paper or drum. Electrostatic
printers, such as the Versatec, are the
ancestors of their class, and ion deposi¬
tion or LED array printers could be
considered the next generation.
The laser print engine combines a
photoconducting drum illuminated by a
semiconductor laser (instead of re¬
flected light) with a copier-style paper
handler and toner application and
fusing system. Because the photocon¬
ducting drum (often called the OPC for
organic photoconduaing cartridge) has
a circumference of less than the length
of a sheet of paper, it is cleaned, ini¬
tialized, and rewritten several times for
each sheet of paper passing through it.
The OPC is charged by a corona
wire and then discharged by the laser
signal. Depending on the type of toner
required by the laser engine, the toner
adheres either to the area written by
the laser (write-black) or to the area
not written (write-white). In the write-
black system the OPC is discharged; the
laser charges the OPC where black
images are required. In the write-white
system the OPC is charged to attract
the toner over the whole cartridge; the
laser then discharges those areas where
black is not desired. The paper is
charged to attract the toner away from
the OPC. In both designs the fuser
roller applies heat and pressure to
bond the toner to the paper. (The HP
LaserJet series are write-black systems.)
The laser printer toner is similar
to plain paper copier toners. The for¬
mulation of the toner is different with
each manufacturer but can be thought
of as a fine powder composed of two
parts: a colored substance such as car¬
bon for black toner and a wax-like
resin that melts when heated, fusing
the carbon together, and onto the
paper. The toner comes in positive or
negative polarity, which describes how
it is attracted to the OPC. It also is
available in different grain sizes, which
limits the ultimate resolution. The
smaller grain size of a very fine toner
is harder to control and is messy to
refill. Only one type of toner is avail¬
able for any given laser printer.
The various types of toners are
optimized for different types of print¬
ing. The toner in the Canon cartridge
used in the LaserJet series is very fine
grained and produces a flat, high-reso¬
lution output very similar to offset
printing. The toner used by the
6-page-per-minute Ricoh engine has a
thicker, almost plastic consistency that
gives the output an engraved appear¬
ance; the black areas are solid and
slighdy shiny with excellent coverage
of even large areas; however, fine de¬
tails are less perfect than they would
be with a finer-grained toner.
The write-white system produces
darker and more consistent blacks
whereas the write-black system pro¬
duces better detail. Detail is increas¬
ingly important when printing charac¬
ters that use very thin lines. A single
dot in a write-white system is reduced
by about 20 percent from the defined
*\he intended application
should drive laser printer
selection. Some printers offer
better text performance,
some better graphics.
size of 1/300 of an inch, while in a
write-black system, as used by the HP
LaserJets, the size is increased by about
20 percent. This variation makes a no¬
ticeable difference in gray shading and
fine detail of the printed page.
Laser printer technology, as with
any new technology, uses many new
words. Most of these words are bor¬
rowed from the typesetting industry.
Font is the size and shape of the char¬
acters in a character set. T)pe-style is a
font shape regardless of size. Dot¬
matrix printers produce simple, reada¬
ble characters but provide no flexibility
in the character shape. Daisy-wheel
printers have optional printing ele¬
ments that add a range of charaaer
shapes but little size variation. Laser
printers can change both the size and
the shape of each character.
Measurements traditionally used
by the printing industry have been
adopted into laser printer terminology.
One inch is divided into 72.27 points,
and one pica is 12 points. Point sizes
describe proportionally spaced fonts,
and characters per inch describe fixed
spacing fonts. Point sizes vary from
subscripts of 5 or 6 points to titles of
20 or 30 points. The size for most text
is 10 to 12 points which have roughly
the same size characters as 12- and 10-
pitch characters, respectively.
The terms portrait and landscape
refer to the orientation of print on
paper. In portrait mode, text lines are
horizontal along the paper’s short di¬
mension; in landscape text is read on
the long dimension.
PRINTER TRADEOFFS
In selecting a laser printer, the user
must consider many variables; some
printers may offer better text perfor¬
mance, some better graphics perfor¬
mance. Also to be evaluated are printer
memory, interfacing between printer
and computer, paper quality and size,
maintenance, and multipass printing.
Character quality. One of the primary
motivations for purchasing a laser
printer is character quality. Figure 1
shows the quality of a character from
three different sources. The first sam¬
ple is from an IBM Proprinter in near¬
letter-quality mode. Because each dot is
printed by a round wire striking the
paper, the individual dots remain visi¬
ble and the paper is dimpled, giving it
a slightly coarser appearance.
The HP LaserJet sample shows
only slightly higher resolution, but the
characters have a smoother, more solid
shape than the Proprinter’s. After the
dots used to form the characters are
deposited on the OPC, the entire char¬
acter shape picks up the toner and is
fused to the paper at one time. Resolu¬
tion varies from printer to printer, pri¬
marily due to the type of printing sys¬
tem used (write-white or write-black)
and a combination of toner formula¬
tions. The high contrast of the black
toner sitting on top of the paper also
results in laser printouts having an
embossed appearance.
By way of comparison, photo¬
typesetters use a much higher resolu¬
tion with high contrast to produce the
definitive image; during the printing
process the printer’s ink smoothes the
edges of the characters.
Printer memory. Each text charaaer on
a page requires 4.25 bytes of printer
memory. A raster graphic requires a
single bit of memory for each bit of
the graphic. Soft fonts (those that are
downloaded from the computer) are
stored in the printer’s memory where
they can be referenced later. During
the printing process, after a page has
been downloaded and the printer is
actually printing, any available spare
memory is used as a print spooler al¬
lowing the next page to be input while
the current page is being printed.
Laser printers are page printers,
meaning that the entire page of data
must be in the printer’s memory be¬
fore it can be printed. A standard 8.5-
by-11-inch page at 300 dots per inch
76
PC TECH JOURNAL
(dpi) consumes about 1MB of memory.
The printer automatically ejects a full
printed page, or if the memory on the
printer is full before the full page is
sent to it, a page is ejected. Printing a
sentence, a short list, or a screen re¬
quires the operator to force the page
to eject. This can be done by pushing a
sequence of buttons on the printer, by
software commands (for example, form
feed or print page), by filling the print¬
er’s memory, by sending a carriage re¬
turn when at the bottom of the page,
or by changing the printer’s modes
(such as switching from portrait to
landscape mode).
The original HP LaserJet has lim¬
ited raster graphic capability due to
insufficient memory. It does not have
built-in vector graphics functions to
draw lines, boxes, and circles, although
some other early laser printers do. The
HP LaserJet Series II offers an optional
memory expansion module with
enough memory for a full page of
pixel data at the highest resolution of
300 dpi. Most current desktop publish¬
ing packages need 512KB of memory.
Any printer that does not have this
minimum amount is not likely to be
fully functional with its emulation.
Interfacing. The three different meth¬
ods of interfacing a printer to a PC are
serial, parallel, and direct memory ac¬
cess (DMA). The original LaserJet print¬
ers had a serial interface to be more
compatible with the older daisy-wheel
printers, but a parallel interface was
available as an option. The Series II has
both interfaces as standard. A DMA
printer must be supplied with special
driver software before tlie standard PC
operating system can drive it.
DOS assumes that printers use a
parallel interface. The DOS provisions
for serial printers are not very effective
and can be used only if the software
allows DOS to control the printer
(most word processors and all print
spoolers do not). A parallel interface is
capable of speeds of 100KB per sec¬
ond, although the actual rate is usually
limited by software and is quite a bit
slower than the maximum hardware
rate. It is nonetheless usually consider¬
ably faster than using a serial interface.
The IBM parallel printer interface
is a superset of the Centronics proto¬
col, which provides for only a few sta¬
tus signals to be returned to the com¬
puter. This lack of status signals is
made worse because so many of the
compatible printer boards, do not emu¬
late the full IBM printer interface stan¬
dard but only the Centronics subset.
This lack of information reduces the
The dot-matrix output from the IBM
Proprinter is improved on by the HP
laser printer, but the quality does not
compare with that of the same charac¬
ter produced by a phototypesetter.
corrective action that a program on the
PC can take to control the printer.
A serial interface is bidirectional.
Status and error messages can be sent
to the PC from the printer in the sanne
way as in the Apple LaserWriter and
other Postscript printers. The LaserJet
printers do not send any data back to
die PC except for XON/XOFF flow con¬
trol. Using a serial interface provides
greater flexibility in printer location; a
printer can even be driven remotely via
modem (after the connection is first
established using a regular communica¬
tions package). Cable lengths of 50 feet
are specified but can be stretched with
inexpensive line drivers.
A serial interface is much slower
than a parallel interface. Using a serial
interface connected at 9,600 bits per
second (bps) requires more dian 18
minutes just to transfer the data to the
printer. A page of text, usually less than
5,000 characters, takes 5 seconds to
transfer to a serial text printer.
The DMA interface, such as used
by the Tall Tree’s JLaser card, is the fas¬
test interface. Adding a JLaser card can
turn the earlier LaserJets (or any other
Canon LBP-CX engine-based printer)
into a DMA printer; the printer elec¬
tronics and memory are moved into
the PC, leaving the printer to serve
only as the mechanical print engine.
This approach uses the PC’s processor
to set up a page to be printed, often
dipping into expanded memory to
store the page of printout. The data are
sent to the printer at die actual print
rate (.94 Mbits per second).
The disadvantages of this approach
are several. Moving the printer to an¬
other machine is much more compli¬
cated than moving a cable. Modem
connections are impossible, because
there is no serial interface. The PC pro¬
cessor is dedicated during the printing
cycle and special drivers must be in¬
stalled to make the DMA interface ap¬
pear like a normal printer to the soft¬
ware. Some software packages, such as
Xerox Ventura Publisher and Z-Soft
Publisher’s Paintbrush, supply drivers
for the JLaser’s DMA interface.
Paper quality. Copier technology was
adapted for the early personal laser
printers; thus die paper handling limi¬
tations of copiers were transferred to
laser printers. The mechanical paper
handling, the toner adherence, and die
heat fusion process place restrictions
on the media used. Copier paper (20-
pound bond) works well in laser print¬
ers. Slightly thinner (15-18 pound) to
slightly heavier (30-35 pound) paper
also can be used. More expensive
paper, such as that used for letterhead,
with 25-percent cotton and slight tex¬
turing, also works well. Papers specially
designed for laser printers have a clay,
varnish, or plastic coating to give excel¬
lent, eye-pleasing results.
Labels, viewgraphs, envelopes, and
heavy paper require a straight-through
paper path. Both the LaserJet and Laser¬
Jet-1- printers provide this path using a
single sheet input slot in the rear of
the printer with the printed paper
ejecting out the front. On the Series II
printer, however, this is reversed. The
Series II has an optional straight-
through output slot in the rear, and the
paper is fed in from the front.
In the original LaserJet, the paper
emerges with the print side up, so a
document is produced with the first
sheet at the bottom of the pile. A
glance at the paper output pile reveals
the progress of the printout and
quickly shows any problems such as
printing too light, too dark, or running
out of toner. The Series II printer out¬
puts the paper upside down so the
final document when removed (and
turned over) is in the correct order,
but gone is the convenience of visual
access during the printing process.
Paper size. The current crop of laser
printers is designed to print on pages
tliat are 8.5 inches wide. Because the
OPC drum circumference is less than
the page lengtli, the printer uses multi¬
ple drum revolutions during one print
cycle. Thus, there is no mechanical
limit to the length of the paper that
can be printed, but the internal mem¬
ory and electronics of these printers
limit the paper length to 14 inches. If
SEPTEMBER 1987
77
In overall laser prmtii^ we were rated over all*
But don’t take our word for it.
After all, Personal Computing pronounced our
F2010 . a printer with which [they] can live hap¬
pily ever after.” And Office Machine News , after
reviewing both the FlOlO and F2010, recently
named Kyocera their manufacturer of the year.
We must admit we’re pretty proud. Not only
of the industry praise, but the quality of
our printers that earned such
recognition.
First, Kyocera’s line of laser
printers offers users the
utmost in versatility. Our
variety of emulation
modes enables compati'
bility with virtually all IBIWBBBi
CIRCLE NO. 241 ON READER .SERVICE CARD
LASER METRICS
continuous forms are tried, the printer
assumes the paper has jammed.
Printers are designed to leave a
margin on all four sides of the paper.
The Canon 300-dpi engine (used in the
HP printers) has a nonprinting margin
of 48 dots on the left side of the paper,
95 dots on the right side of the paper,
and 60 dots each at the top and bot¬
tom. On 8.5-by-l 1-inch paper, the effec¬
tive print area is 2,407 dots by 3,180
dots (4,080 on 14-inch paper). Thus,
the total number of dots displayable is
7,569,182, or 946,147 bytes of data
(1,227,570 bytes on a 14-inch page).
Maintenance. Just, as dot-matrix printers
have ribbons that must be changed,
laser printers also have “expendables.”
The Canon EP cartridge used by the
LaserJets and other Canon-engine laser
printers is the most popular mecha¬
nism for handling the toner and OPC
drum. The cartridge is a one-piece unit
that prevents the toner from spilling.
Many other printers separate the toner
from the OPC drum; the toner is con¬
tained in a bottle and must be poured
in, increasing the risk of spillage.
Separating the toner and OPC re¬
sults in very litde cost savings. The
Canon cartridge lists for $115 and is
good for about 3,000 copies. Some
companies refill a cartridge for about
half the price of a new one, or it can
be refilled in-house for $20 or less.
This refilling is possible because the
OPC drum lasts two to three times
longer than the toner. The new LaserJet
Series II cartridge increases the toner
supply and decreases the OPC drum
size to result in a matching life span.
The Canon cartridge system has
additional advantages; Before moving
the printer, the Canon cartridge can be
removed, whereas the loose toner sys¬
tems can create a mess. Also, cartridges
have clear advantages for occasional
color output. Canon offers a brown and
a black toner cartridge! Apple offers
several color cartridges that can be
used in the LaserJet. Some of the refill¬
ing services offer color refills.
Multipass printing. The multipass capa¬
bility allows for double-sided and mul¬
ticolor printing. This capability can be
used for merging text with graphics or
for filling in preprinted forms. Print
registration on the page is important
for multipass printing, but most PC
laser printer paper-feed mechanisms
commonly allow variations of 10-pixel
diameters, which renders multipass
printing somewhat less effective.
Furthermore, the first pass through
the printer changes the physical charac¬
teristics of the paper, and subsequent
passes tend to wrinkle or jam the
paper. The fuser roller dries out the
paper as it heats it making it less plia¬
ble when it passes through the rollers
again. Letting the paper relax and ab¬
sorb water from the air after the first
printing greatly improves multipass
printing. The relaxation period varies
greatly with the temperature, the hu¬
midity, and the particular printer.
LASERJET COMPATIBILITY
The PC Tech Journal LaserJet Software
Metrics perform three functions: they
identify the hardware differences, in¬
cluding resolution, speed, page size,
’Personalpublishing soft¬
ware only hints at laser
printer capability. It does
not produce, professional
typeset quality output.
and coverage (the amount of the page
that can be printed on), between the
LaserJet standard and other com¬
patibles; they describe the capabilities
of the LaserJet printers; and they verify
the software compatibility of all
LaserJet-compatible printers. The sub¬
routines are listed in MISS.C (listing 1).
Each of the programs in the Laser¬
Jet Metrics series tests at least one basic
function. Other funaions are also exer¬
cised to demonstrate interactions be¬
tween functions. At minimum, the com¬
patible printer should meet the HP
standard for a specific function. The
manner in which a printer exceeds the
standard should be considered at two
levels. If better performance results,
such as the ability to print more fonts
on a page, then exceeding the standard
is worthwhile. If only the applications
developer benefits, then a dangerous
situation could develop. For example,
the LaserJets allow two levels of nesting
of their macros; some compatible print¬
ers may allow more. A developer who
writes an application to include more
than these two levels cannot assume it
will run on the LaserJet, although it
may run on an HP-compatible.
LaserJet drivers are included with
most of the popular software packages.
WordPerfect, Microsoft Word, Lotus
1-2-3, Lotus Freelance, Publisher’s Paint¬
brush, Software Publishing’s Harvard
Professional Publisher, Aldus Page¬
maker, and Ventura Publisher were
tested against the HP LaserJets. These
personal publishing software packages
only hint at the capabilities of laser
printers; they do not currentiy produce
professional typeset-quality output.
Fully capable typesetting packages are
just now becoming available for PC
operation, as typified by the public
domain TgX program. A TgX compiler
was used to generate some of the sam¬
ple data files for this article.
The LaserJet Metrics test the five
sets of command extensions built into
the LaserJet printers: macros, push/pop,
rules and patterns, raster graphics, and
downloadable fonts. Tests also are in¬
cluded for printable page size and
page complexity. No test was devised
for the HP hardware font cartridges
because they are proprietary. To run
the metrics, the executable file should
redirect the output to the printer
port using the DOS redirector (>).
All of the outputs shown in the fig¬
ures are from the HP LaserJet printers.
The following article shows some of
the outputs from HP-compatible print¬
ers. Due to the nature of printing tech¬
nology, the laser outputs could not be
accurately reproduced in all cases.
Subtle differences in resolution and .
shading may appear more distinct in
actual laser output than as reproduced
here. For space considerations, the out¬
put in the figures may not have exactly
the same layout as the actual output
produced by the metrics.
Macros. A macro is a single or a group
of commands given a single name and
executed as a unit. Each macro is as¬
signed an ID number. HP does not
specify^ a range of numbers to be used
for this purpose, but during testing the
LaserJet accepted a variety of numbers,
including —1, 0, and 32768.
The program MACRO.C (listing 2)
tests various aspects of using macros.
These include calling a macro from
within another macro and nesting mac¬
ros (that is, calling a macro that calls
another macro). Because HP states in
its Series II documentation that it sup¬
ports only two levels of nesting, the
metric also tests how the printer re¬
sponds when asked to do three levels
of nesting. A recursive test of calling a
macro from itself also is included.
The test results for this metric are
shown in figure 2. The program first
defines three macros: macro number 1
generates an open box, number 2 gen¬
erates an I-shaped bar, and number 0
generates a solid box. Next the pro¬
gram defines macro number 3, which
consists of positioning the cursor and
SEPTEMBER 1987
79
LASER METRICS
I FIGURE 2; Macro Output
The PCL allows the definition of macros. Only two levels of nesting are sup¬
ported. Requests made to the third level of nesting are ignored by the HP.
calling macro number 1, repositioning
the cursor, calling macro number 2,
repositioning the cursor and calling
macro number 1 again. This results in
an image of an I-bar with two open
boxes on either side of it. In testing
two levels of nesting, macro number
32768 calls macros 0, 2, and 3, result¬
ing in a solid box, followed by the
I-bar, followed by the I-bar again with
two open boxes on either side.
The program next tests the re¬
sponse of the printer when it is asked
to perform more than two levels of
nesting. The cursor position is set and
macro 6 is executed. This prints the
number 6 and calls macro 7, which
prints the number 7 and calls macro 8,
which prints the number 8 and calls
macro number 9. Because the LaserJet
supports only two levels of nesting,
macro 9 is not called; instead, the
macro returns and finishes macro 8 by
printing the letter c, followed by macro
7 and macro 6, which print the letters
b and a, respectively. Note that when
the LaserJet prints a text character it
increments the cursor position so that
the next character is not printed on top
of the first. On a printer that can sup¬
port additional levels of nesting, macro
number 9 would be executed, printing
the number 9 and letter d.
In order to test the maximum
number of levels that can be sup¬
ported, MACRO.C includes a recursive
macro test in which macro number 10
positions the cursor, prints the number
10 and then calls macro number 10
again. On the LaserJet machines this
test terminates as expected after three
times (two levels of nesting).
MACRO.C performs two more
tests. Macro number 11 sends its defi¬
nition to the printer (print the number
11), redefines itself (move cursor and
print the number 11), and then sends
the new definition to the printer. The
macro is redefined three times before
ending by printing the letter / Series II
documentation indicates this function is
not be supported, but it performed the
test as written. The final MACRO.C test
simply defined and executed a macro
with the ID number -1.
Push/Pop. The program, PUSHPOP.C
(listing 3), tests the functioning of the
PUSH and POP commands and demon¬
strates what happens when the maxi¬
mum number of pushes is exceeded.
The PUSH command is used to save
the current X and Y locations on a
stack that is 20 values deep. The POP
command then recovers each saved
location in a last-in, first-out sequence.
PUSHPOP.C first builds a raster
graphics box in a macro for use later.
It then positions the cursor, saves the
current cursor location using the PUSH
command, and then executes the
macro, drawing a box at the current
location. The cursor is then moved to
the right and anotlier PUSH command
is executed. This pushes the first cursor
location down a level and stores the
second cursor location on top. Using
the current cursor location, the macro
is executed drawing another box. This
sequence is repeated until 22 boxes
appear across the page. A total of 21
PUSH commands have been executed.
The LaserJet can handle only 20
levels of pushing, however, so to deter¬
mine the effect of an extra push, the
stored locations are popped in turn
and an incrementing text number is
printed at those locations. As shown in
figure 3, the LaserJet ignored the PUSH
command after the twentieth level;
thus, when the first POP command is
executed, the current cursor location is
tlie tv^^entieth square across the page
and the number 01 is printed in that
square. The next POP command moves
the cursor one square to die left and
die number 02 is printed. The twenti¬
eth POP command gives the location of
the leftmost square and the number 20
is printed. The twenty-first POP com¬
mand has no effect, so the number 21
is printed on die next line.
A printer that is not HP compatible
may continue to accept pushes beyond
the 20-level limit, causing the numbers
to appear in a square to die right of
their correct position, or it may replace
the last stored cursor location with the
extra PUSH command’s location caus¬
ing only die first number to be in an
unexpected position.
Complexity. Because of memory limita¬
tions, LaserJet printers format the line
of dots for die laser in realtime (as it is
actually printing the page) from all of
die objects (characters, raster graphics,
rules, macros, etc.) that are specified
for that line of the page. The page that
is sent to the printer page is not neces¬
sarily a page of dots, but can also con¬
sist of rules, macros, or characters that
have to be translated by the micropro¬
cessor on the printer itself When the
internal microprocessor can no longer
keep up, the printer reaches its com¬
plexity limit. HP explains that certain
parameters, such as macros and vertical
lines, are more processing intensive
than others. The complexity test pro¬
gram, COMPLEX.C (listing 4), prints a
large number of vertical rules on a
page; the rules start at various vertical
offsets gradually increasing the com¬
plexity to beyond the printer’s limit.
The LaserJet reaches its limit when
this test is performed (see figure 4).
The printer signals an error message
80
PC TECH JOURNAL
I FIGURE 3; PUSH/POP Output
In the PUSH/POP metric, the 22 graphics boxes are specified on the page first.
The LaserJet supports only up to 20 pushes and then ignores the twenty-first
push. This means that the number 01 prints in the twentieth square, and the
number 21 prints on the next line. This metric is found in listing 3.
Complexity is one of the areas in which a compatible printer can improve on the
HP standard. The HP printers reach their limit after printing only the top portion
of the full design created by the complexity metric. The correct output for this
metric is two parallelograms as shown here; the HP’s attempt is shown in the
tinted area. It gives an error message, rejects the page, and must be reset manually.
and ejects the page, necessitating man¬
ual resetting of the computer, particu¬
larly undesirable in a network where
the error message may not be appar¬
ent. Reducing the complexity of the
page produces the problem at a point
where more of the page has printed
before the error message occurs.
Complexity is one of the areas in
which a compatible printer can im¬
prove on the HP standard. However, a
page laid out on the compatible ma¬
chine will not necessarily print on the
LaserJet. Because the specification of
complexity is vague, no other printer
can be totally compatible in this area.
Printable page size. The LaserJet print¬
ers leave an unprintable border ap¬
proximately 0.25 inches wide on all
four sides of the paper. These blank
zones are designed to reduce the
amount of toner that misses the paper.
This test program, PAGESIZE.C (listing
5), uses X and Y positioning com¬
mands (followed by a character) to
print a character at positions on both
sides of the limit of the defined page
in order to establish the actual print¬
able page limits. The LaserJet printers
do not print a character that extends
into the border area . The 0, 0 point
on the page is the upper left printable
point on tlie page while the 0, 0 point
of a character is the lower left corner
of the character box.
The program attempts to write
characters closer and closer to the
edges of the page by changing the cur¬
sor position. Negative positions are not
allowed; however, negative relative off¬
sets can be used. First the top edge is
tested by printing @ at a position with
a Y coordinate of 230 and then the
numbers 1 through 9 and 0 with the Y
cursor position reduced by using a
negative relative offset. Only the num¬
bers 0 through 7 are actually printed;
the others are out of range and are
ignored. A similar test is performed for
the other three sides with a similar re¬
sult for the bottom and right sides. On
the left-hand edge, however, the
printer assumes that the requested po¬
sition is 0 instead of out of range as on
the other edges and prints the charac¬
ters that were ignored on the other
edges against the left margin. Figure 5
shows the top and left sides of this out¬
put on the HP printer.
Rules and patterns. HP defines six pat¬
terns and eight shades of gray, forming
a gray-scale pattern. HP also has de¬
fined rules (horizontal or vertical lines)
that can vary not only in length but
also in width. The test program,
RULES.TXT (listing 6) defines a rectan-
SEPTEMBER 1987
81
LASER METRICS
gular block and prints this block with
each of the six predefined patterns.
Then eight more blocks are printed,
one with each of the eight shades of
gray. Then four black blocks are
printed: the first the full size, the sec¬
ond with a one-dot-wide X dimension,
the third with a one-dot-wide Y dimen¬
sion, and the fourth with both dimen¬
sions set to a single dot in size.
Figure 6 shows all of the patterns
and gray scales, but not the extra black
block, the rules, and the dot. The met¬
ric prints three additional blocks that
are not included in the figure because
the print quality of the magazine would
not truly represent the shading. These
extra blocks show the evenness of a
black area. On the HP LaserJet + these
blocks were not an even black. This
unevenness was not as apparent on the
Series II printer, which has a different
cartridge than the earlier models.
Full-page graphics. The original LaserJet
printer was able to do some raster
graphics. Raster graphics consume large
amounts of memory because each dot
in the image area requires one bit of
memory. Memory can be saved by
using a lower resolution than the 300-
dpi maximum. Resolutions of 150 dpi,
100 dpi, and 75 dpi are available. The
LaserJet Series II has 512KB of memory
standard, and with expansion memory
(available in sizes of 1, 2, or 4MB) the
Series II can produce a full-page
graphic at the 300-dpi resolution.
A full page of graphics is defined
as one independent bit, at the printer
resolution, for every point on the page.
For an 8.5-by-ll-inch page, that works
out to 8,415,000 bits or 1,051,875 bytes.
The printable page size is 8-by-10.5,
which means that only 945,000 bytes
are required to contain the printable
page. If the printer has less memory
than is required, the graphic is split by
the printer in such a way that the sec¬
ond page begins at the same vertical
offset as the first page ended.
The program GRAPHICS.C (listing
7) demonstrates a full page graphic that
is truncated at the right and bottom
edges. The algorithm used to produce
it places an individual dot randomly
into each byte sent to the printer. This
prevents any data compression by the
printer and checks the operation when
the printer’s memory is exceeded (as¬
suming that less than 1MB available
memory). The pattern should appear
uniform and printing irregularities evi¬
dent (see figure 7).
This test helps to illustrate the type
of shading that would be seen in a
graphics image. The gray scales that are
Negative numbers are not acceptable
to the HP printer. The top and left
margins of a page are shown here.
FIGURE 6: Rules and Patterns
Six predefined patterns and eight gray
shades are available. These can be
used only as rectangular shapes.
defined in the printer can be used only
as rectangles, so fill areas in general
graphics images would be printed from
a dot image rather than by setting a
gray scale. The write-white system pro¬
duces a much paler image due to its
20-percent reduction of the image.
A Mandelbrot set was used as an
additional full-page graphics test shown
in figure 8. The data for this image are
more than 1MB in size and are avail¬
able in compressed form on PCTECH-
line as DATAARC.
Resolution. Resolution consists of
round dots and square dots, dots
pushed into the paper and dots sitting
on top, and relationships of dots next
to each other. The toner used in laser
printers varies considerably, noticeably
affecting appearance of the output. This
variation is demonstrated by the resolu¬
tion test RESOLUT.C (listing 8).
This test program defines several
shapes at the 300-dpi resolution (see
figure 9). The first is two arrows just
touching each other—the blacks
should be solid with the central point
being a single dot in size. The second
is a series of vertical lines that are one
dot wide and one dot apart—they
should appear evenly spaced and uni¬
form. The third test is the most severe,
especially for a write-black printer. This
pattern consists of hollow squares
three dots on a side separated by a sin¬
gle dot from similar squares on each of
their four sides. The central white dot
of each square tends to close up. The
HP’s write-black system tends to de¬
crease the white area on all four sides,
the charge on the central dot tends to
dissipate, and the toner flows over the
square filling in the open space.
The fourth pattern is individual
dots packed into horizontal and vertical
rows with each dot separated from its
nearest neighbors by a white line. Look
for uniformity and distincmess of the
dots in this pattern. The fifth pattern is
the letter m taken from a typesetting
style font. This font uses a single dot
width neck between the vertical strokes
and the curved parts of the m. A
thicker, heavier toner could have a lot
of trouble connecting the letter to¬
gether. The final pattern is a solid
black rectangle; it should have uniform,
consistent coverage. Again, this image
is affected by the system used to gener¬
ate the image. A write-white system
generally produces even blacks.
Fonts. Fonts are the most complicated
programming feature in the LaserJet
printers. The existence of a font down¬
loading feature is important even
though it is rudimentary compared, for
82
PC TECH JOURNAL
The full-page graphics metric uses
random dots to ^ the page at 300
dpi. HP’s output is uniform; irregulari¬
ties that occur in other printers will
stand out when using this metric.
example, with the Apple LaserWriter.
To download a font to an HP printer,
the font must be identified and then
each character downloaded individu¬
ally. The printer is not capable of any
font modifications, such as scaling, out¬
lining, or bolding. Rotation must be
done externally and the rotated font
must be sent again to the printer. Many
of the LaserJet font parameters are not
completely specified in the HP refer¬
ence manual, causing compatibility
problems for other printers.
The program DOWNLD.C (listing
9) illustrates building a single character
for a font and determines if a user-
defined font or an internal font is
being used. It sets up a new font,
downloads the shape of the letter n to
character number 120 (the ASCII value
for the letter x\ and then prints the
letter on the page. If the printer substi¬
tutes a different font for the defined
font, then the character x is printed. If
the printer correctly uses the defined
font, then an n is printed. To have a
complete character set in this font,
each of the other letters must be indi¬
vidually created and sent to the printer.
Font design requires considerable
skill, training, and effort. For example,
to change the size of a character set,
each character shape must be adjusted
to compensate for how the human eye
perceives shapes and relationships.
PC TYPESETTING
Sophisticated typesetting programs for
the PC are beginning to enter the mar-
HGURES: Mandelbrot Plot
During printer testing, a Mandelbrot plot was used as an additional test of full-
page graphics capabilities. Even though there is no control over the individual dot
size, the human eye easily converts dot frequency into intensity levels.
The resolution metric produces a series of test patterns at 300 dpi. The toughest
test for write-black systems like the HP printers is the third, which consists of
hollow squares three dots on a side separated by a single dot from similar squares
on each their four sides. The central white dot of each square tends to close up.
ket, largely spurred on by the creation
of TgX, a system of public domain pro¬
grams developed by Donald E. Knuth
at Stanford University, author of “The
Art of Computer Programming.” He
saw the need for a comprehensive
typesetting system for manuscripts with
mathematical formulas. At least two
TgX-adapted compilers are available:
PC TgX from Personal TgX, Inc. and
MicroTgX from Addison-Wesley.
Unlike desktop publishing pro¬
grams, TgX is not an interactive system;
it is so powerful and exacting that
much faster computers would be
needed for it to operate in realtime. It
SEPTEMBER 1987
83
LASER METRICS
has hundreds of primitive commands
plus an extensive macro system that
provide many hundreds more low-level
commands. Several high-level macro
packages are available that are intended
to make uniform documents easy to
produce. Separately available drivers
create output on EGA or Hercules dis¬
plays, dot-matrix and laser printers, and
phototypesetters. The TgX drivers in¬
clude several hundred fonts.
HP fully describes how a down¬
loadable font can be sent to the laser
printer. In general, current applications
that use downloadable fonts send all of
the alphabet and other characters in
the full set regardless of whether even^
character is present on a page. This
uses valuable printer memory.
The way that TgX handles text is
instructive for understanding the re¬
quirements placed on a laser printer by
sophisticated typesetting programs.
Each character is individually placed on
the page; positioning commands are
used for justification and kerning (ad¬
justing the space between letters). The
first time a font is used it is assigned a
number. This number and a font de¬
scriptor are sent to the printer. Then
the character descriptor, including the
bit pattern for that character, is sent. If
that character/font is used again, it does
not need to be resent, but each new
character must be individually down¬
loaded. This technique ensures that the
output has identical spacing on dot¬
matrix printers, laser printers, and photo¬
typesetters (within the given resolution).
Most font packages download the
entire character set into the printer
memory; TgX downloads only those
characters actually used.
To test the font changing capabili¬
ties of laser printers, the data file
FONTS.HP (available on PCTECHline)
FIGURE 10: Font Changes
This is amrlO scaled by half.
This is ambxlO scaled by half.
This is amttlO scaled by hall.
This is amsllO scaled by half.
This is amrlO scaled by 1.
This is ambxlO scaled by 1.
This is amttlO scaled by 1.
This is amsllO scaled by 1.
This is ambxlO scaled by 2.
This is amttlO scaled by 2.
This is amsllO scaled by 2.
This is amrlO scaled by 3.
This is ambxlO scaled by 3.
This is amttlO scaled by 3.
This is amsllO scaled by 3.
This is amrlO scaled by 4.
This is amblO scaled by 4.
This is am 10 scaled by 4.
This is amsllO scaled by 4.
This is amrlO scaled by half.
This is ambxlO scaled by half.
This is amttlO scaled by hall.
This is amsllO scaled by half
HP limits the number of different
fonts on a page to 16. Requests to
change fonts beyond 16 are ignored.
requests 19 different fonts in succes¬
sion and prints a line stating the font
type, then it requests the first four
fonts again. The LaserJet can display
only 16 fonts on a page (32 fonts can
be in memoiy^ at one time). Thus,
three font changes are ignored by the
printer, so the line is printed in the
font of the previous line. To demon¬
strate how the HP recovers, the pro¬
gram reselects and prints the first 4
fonts (see figure 10).
Characters will be missing in the
lines where the font changes were ig¬
nored. This is because TgX has sup¬
plied the printer with only the charac¬
ters necessary to print the sixteenth
line. When the printer tries to print the
seventeenth line, it is able to print only
as many of the characters as it has defi¬
nitions for. This problem is due to a
page being defined for the printer that
has too many font changes. Some of
the HP-compatible laser printers have a
higher font-per-page limit, but pro¬
grams that are written to tliese higher
limits will not be compatible with the
HP laser printers.
COMPUCATED CRITERIA
At first look, speed, resolution, and HP
emulation are obvious considerations
in selecting a laser printer. Underneath
these considerations, however, lies a
more complicated set of criteria: toner
type, write-white or write-black, and
memory expandability. Each laser
printer manufacturer makes tradeoffs in
satisfying these criteria, with the intent
of attracting business in a price-
concious market. Armed with the tools
and information presented here, the
informed buyer can select the best
laser printer for the job. I Miiimiin M
Rainer McCown is president of Rljintek, Inc.,
a systems software company that develops
products and consults in communications,
compilers, editors, and graphics. Heeth Clark
is an instructor in computer literacy’ at The
Johns Hopkins University. Bob Smith, presi¬
dent of Qualitas, Inc., contributed to devel¬
oping the metrics for this article.
USTINGl: MISS.C
/* MISS --PC Tech Journal Laser Printer Miscellanous Tests
* Version 1.0
*
* Copyright (c) 1987, Ziff Communications Company
* Program by: Rainer McCown and Bob Smith
* Common Routines for C programs.
*/
#include “io.h"
^include “dos.h''
#include "string.h”
^include "fcntl.h"
#define STD_0UT 1
/* SNDL -- Use this routine when the string-to-be-printed
contains embedded binary zeros (which can confuse
the STRLEN function used in SND). */
void sndUsray, len)
char srayU;
int len;
C
if (len != write(STD_CXJT, sray, len)) printf("%s\r\n", sray);
>
/* SND -- Use this routine to send a string to the standard printer */
void snd(sray)
char sray[];
t
sndUsray, strlen(sray));
>
/* SETBINARY -- Change a file handle to binary mode to avoid
converting LFs to CR,LF and to avoid stopping on EOFs */
void setbinary(fh)
int fh;
C
union REGS inregs;
84
PC TECH JOURNAL
/* Change to binary mode via SETMODE
to avoid converting LF to CR,LF */
snd("\x1B*p100X\x1B*p120Y\x1B&f1y2X");
- setinode(fh, OjINARY);
snd("\x1B&f2Y\x1B&fOX">; /* Start macro #2 definition */
snd("\x1B*t100R"); /* Resolution = 100dpi */
/* Change to binary mode via lOCTL
to avoid stopping on EOF */
snd("\x1B*r1A"); /* Start raster graphic */
/* Send the bit pattern for an I */
inregs.x.ax = 0x4400; /* Fn code to get device infdrmation */
inreg$..x.bx^ s fh; /* For the file handle V
snd(»\x1B*b5W\xFP\xFF\xFF\xFF\xFF"); /* Top */
intdos(&1nregs, &inregs)J /* Return device info in DX V
for (cnt = 0; cnt < 31; cnt ++) /* Mid */
if(inregs.x.dx & 0x0080) /* If it's a device, ... */
snd1(»\x1B*b5W\x00\x00\x18\x00\x00", 10);
C
inregs.h.dh = 0; /* Ensure zero */
snd(»\x1B*b5W\xFF\xFF\xFF\xFF\xFF"); /* Bottom */
^ inregs.x.dx I* 0x0020; /* Turn on binary mode bit */ ' * .
/* End the I and the macro */
0x4401; /* Fn code to'set device information V 'i
snd("\xlB*rB\x1B&flX»);
intdos(&inregs, &inregs); /* Set device info from DX */
>
/* Position cursor, execute macro #2 */
>
snd(»\x1B*p300X\x1B*p100Y\x1B&f2y2X");
USTING2: MACRO.G \
/* Start macro #3 definition V
/* MACRO PC Tech Journal Laser Printer Macro Tests
> snd(«\xiB&f3Y\x1B&fOX");
* Version 1.0
*
/* Position and then call macros #1,#2,#1 */
* Copyright (c) 1987, Ziff Communications Company
snd(»\x1B*p+00X\x1B*p+00Y\x1B&f1y3X");
* Program by: Rainer McCown /' ^
snd( "\X1 B*p«'35X\x1 B*p* 82 Y\x 1 B&f 2y3XH );
* This program creates three macros that draw^raster graphics.
snd( ‘'\x1 B^p^-TSXVxl B*p* 82Y\x1 B&f 1 y3X" >;
* Then other macros are called which in turn call the first
/* End macro #3 definition */
* macros. The final test determines the maximum calling depth.
*/
snd("\x1B&f1X");
/* Position cursor, execute macro V
#include “io.h"
snd(«\x1B*p900X\x1B*p100Y\x1B&f3y2X");
#define STD_OUT 1
snd(»\x1B&f0Y\x1B&f0X"); /* Start macro #0 definition */
snd("\x1B*t300R"); /* Resolution = 300dpi */
extern void sndUchar [], int),
snd (char □),
snd("\x1B*r1A"); /* Start raster graphic */
setbinary(int);
/* Send the bit pattern for a solid box */
y******************************* j |ij ******************************* /
snd("\xlB*b5W\xFF\xFF\xFF\xFF\xFF"); /* Top */
for (cnt = 0; cnt < 31; cnt++) /* Mid */
void mainO
snd("\x1B*b5W\xFF\xFF\xFF\xFF\xFF");
< ' * '
Snd('‘\x1B*b5W\xFF\xFF\xFF\xFF\xFF"); /* Bottom V
int row, cnt, bit;
/* End the box and macro #0 */
unsigned char byte;
snd("\x1B*rB\x1B&fIX");
/* Change STD_OUT to binary mode to avoid
/* Position cursor, execute macro #0 */
converting LFs to CR,LF and to avoid
snd("\x1B*p500X\x1B*p130Y\x1B&f0y2X");
stoj^ing. on EOFs
IS-;:
/* Start macro #32768 definition */
setbinary(STD_OUT);
snd("\x1B&f32768Y\x1B&fOX");
/* Initialize the printer */
/* Position and then call macros #0,#2,ifS */
■ ' 1 '• ; . :■ ’ . " ''
snd("\x1B*p100X\x1B*p730Y\x1B&f0y3X");
sndC'XxiBE'*); /* Reset the printer */
snd("\x1B*p135X\x1B*p700Y\x1B&f2y3X") ;
snd("\x1B&l0E"); /* Zero the top margin */
snd("\x1B&s1C"); /* Disable EOL wrap */
snd("\xlB*p700X\xlB*p700Y\xlB&f3y3X");
snd("\x1B9"); /* Clear margins */
/* End macro #32768 definition V
snd(M\x1B&lCO‘»); i* Landscape mode V _ . ^ -
snd(''\x1B&f1)<»);
/* Bui Id the macros */
/♦ Position cursor, execute macro #32768 */
snd("\xlB&f1Y\x1B&f0X"); /* Start macro #1 definition */
snd("\x1B*p900X\x1B*p100Y\x1B&f32768y2X");
snd("\xlB*t150R"); /* Resolution = 150dpi */
y***************** start macro depth test ****************/
snd("\x1B*r1A"); /* Start raster graphic */ ,
7* The LaserJet allows a depth.of two only */
/* Send the bit pattern for a hollow box */ "
snd("\xlB&f6Y\x1B&f0X"); /* Start, macro #6 definition */
/* Position and then call macro #7 */
snd("\xlB*b5W\xFF\xFF\xFF\xFF\xFF"); /* Top */
snd("\x1B*pf 50X\x1B*p+70Y6\x1B&f7y3X" );
for (cnt = 0; cnt < 31; cnt ++) /* Mid */
snd("a\xlB&f1X"); /* End macro #6 definition */
sndU“\x1B*b5W\x80\xO0\xOO\xOO\xO1", 10);
snd(“\x1B*b5W\xFF\xFF\xFF\xFF\xFF»>; /* Bottom */
snd(‘»\x1B&f7Y\x1B&fOX"); /* Start macro #7 definition */
/* Position and then call macro #8 */
/* End the box and the macro */
snd("\x1B*rB\x1B&fIX" );
snd( "\x1 B*p+50X\x1 B*p<-70Y7\x1 B&f 8y3X" ) ;
snd("b\x1B&f1X"); /* End macro #7 definition */
/* Position cursor, execute macro #1 */
snd("\x1B&f8Y\x1B&f0X"); /* Start macro #8 definition */
SEPTEMBER 1987
85
The Leaders Made PVCS
The Leading Source Code Control Systein
The Preferred
Version Control System
The customers listed below are just a few of the
innovative leaders that have made PVCS the
leading version control program for personal
computers.
W hen it comes to maintaining their most
valuable asset, the leading software
publishers rely on the POLYTRON Version Con¬
trol System (PVCS). From accounting firms to
airlines, the leading service companies depend
on PVCS to maintain the integrity of their pro¬
grams. Leading manufacturing companies use
PVCS to maintain their state-of-the-art software.
Leading high technology companies turn to
PVCS to handle configuration management for
software projects that represent an investment
of hundreds of thousands of dollars. The largest
aerospace companies and defense contractors
use PVCS to maintain integrity of projects during
development and after delivery of software.
Independent programmers use PVCS to
improve their productivity and software quality
for themselves and their clients.
Simplify
Configuration Management
When large and complex software programs are
being developed on personal computers or VAX
minicomputers, effective management of the
revisions and versions becomes critical. PVCS
simplifies this process and lets you effectively
control the proliferation of code changes. We
used UNIX sees and RCS as models. How¬
ever, our own experience, and the input of
hundreds of programmers and managers has
enabled us to significantly improve upon these
models.
PVCS provides many
powerful functions including:
• Storage & Retrieval of multiple revisions of text.
• Maintenance of a complete history of changes.
• Maintenance of separate lines of development
using branching.
• Merging simultaneous changes.
• Resolution of Access Conflicts.
• Modules can be retrieved by their own revision
number, system version name, or specified
date.
• Uses “reverse deltas” to rebuild a prior version
making PVCS the fastest version control
system over the project life cycle.
• Projects already under development or in the
maintenance stage can be easily put under the
control of PVCS.
Manages Development On
Local Area Networks
Programming teams using Local Area Networks
depend on PVCS to help the managers and
team members work together. In fact, Novell and
3Com themselves depend on PVCS to manage
the versions of their own network software
products.
Supports MS-DOS
and VAX/VMS Development
Now, companies that develop software on VAX
systems running VMS can also use PVCS. And
since the VMS and MS-DOS versions of PVCS
use the same “logfile” format, you can easily
develop software on PCs and maintain the code
on the VAX or vice versa. The menu-driven,
screen-oriented interface (and optional
command-driven interface) makes it easy for
programmers and librarians or administrators to
use PVCS on a PC or VAX or both systems.
PVCS Maintains System
Integrity
PVCS prevents corruption of code that could
ordinarily result from security breaks, user care¬
lessness or malfunctions. The levels of security
can be tailored to meet the needs of your project.
PVCS & PolyMake
Work Together
PolyMake, the leading MS-DOS make utility, is
now available for the VMS operating system.
This allows you to write makefiles that will func¬
tion in both PC and VAX environments. Addition¬
ally, PolyMake reads time & date stamps of PVCS
archives for fast, accurate program rebuilding.
PVCS and PolyMake Maintain
Source Code Written In
Any Language.
ISC Aerospace
IVAC
Javelin
Lattice
Lawrence Livermore
Lotus
McData Corp.
McDonnell Douglas
Mead Data Central
MIT Lincoln Labs
Nastec
Novell
NCR Technologies
Pitney Bowes
Plexus Computers
Price Waterhouse
ROLM
Rockwell International
Safeco
Sears
Security Pacific
Sperry
Software Publishing
Spacelabs
Standard Oil
Standard & Poors
Tandem
Tektronix
Telex
Texas Instruments
Touche Ross
Unisys
United Airlines
United Parcel Service
United Technologies
U.S. West
Westinghouse Electronics
Xerox
Alcoa Aluminum
Arthur Anderson
AT&T
AshtonTate
Bank of America
Bell Labs
Bendix
Boeing
CIGNA
Citibank
3Com
Colonial Penn
Commerce Clearing House
Control Data Corp.
Corvus
CXI
Digital Equipment Corp.
Deloitte Haskins + Sells
Diebold
Dow
Dunn & Bradstreet
EDS
Educational Testing Service
E-Systems
Equitable Life
Federal Express
First Boston
Ford
Fox Software
Fujitsu
GTE
Hardees
Hewlett-Packard
Honeywell
Hughes Aircraft
IBM
Industrial Networking
Intel
Only PVCS meets the needs of independent
programmers and corporations. Once you stan¬
dardize on PVCS, the archives used to track and
monitor changes are interchangeable between
any PVCS product. You will receive full credit for
your initial purchase if you upgrade to a higher-
priced MS-DOS version of PVCS.
Personal PVCS - Offers most of the power and
flexibility of Corporate PVCS, but excludes the
features necessary for multiple-programmer
projects.
Corporate PVCS — Offers additional features to
maintain source code of very large and complex
projects that may involve multiple programmers.
Includes multi-level branching to effectively main¬
tain code when programs evolve on multiple
paths (e.g. new versions for different host
systems, or a new program based on an existing
program).
Network PVCS ~ Extends Corporate PVCS for
use on Networks. File locking and security levels
can be tailored for each project.
PVCS for VAX systems - Requires VMS. Uses
the same interface and archive format as MS-
DOS version. Supports branching and offers file
locking and other security features for multiple-
programmer projects.
'Compatible with MS-DOS 2.0 through 3.3.
Compatible with the IBM PC/XT/AT & other
MS-DOS PCs.
'5 Station LAN License. Call for pricing
on larger Networks.
TO ORDER:
VISA/MC 1^800-547-4000.
Dept. No. 310.
Oregon & Outside USA call (503) 645-1150.
Send Checks, RO.s to: POLYTRON
Corporation, 1815 NW 169th Place,
Suite 2110, Beaverton, OR 97006.
High Quality Software Since 1982
CIRCLE NO. 190 ON READER SERVICE CARD
MS-DOS*
VMS 1
PC/XT/AT
Micro VAX II
VAXTxx
VAXSxxx
Personal PVCS
$149
Corporate PVCS
$395
Network PVCS
$995**
$4,950
$9,500
$10,500+
PolyMake
$149
Network
PolyMake
$447**
$1,250
$2,375
$2,500+
LASER METRICS
/* Position and then call macro #9 */
sndC ''\x1 B*p+50X\x1 B*p+70Y8\x1 B&f 9y3X");
*/
8etbinary<STD_0UT);
snd(''c\xlB&flX"); /* End macro #8 definition */
snd("\x1B&f9Y\x1B&fOX"); /* Start macro #9 definition */
/* Initialize the printer */
/* Position and then call macro #10 */
snd("\xlB*p+50X\xlB*p+70Y9\x1B&f10y3X"X;
snd(''d\x1B&f1X"); /* End macro #9 definition */
snd("\x1BE"); /* Reset the printer */
snd("\x1B&lOO"); /* Portrait mode */
snd("\x1B&f10Y\x1B&f0X''); /* Start macro #10 definition */
/* Position and then call macro #10 */
/* Send macro defn to printer V
snd("\x1B&f1Y\x1B&f0X"); /* Start macro #1 definition */
snd("\x1B^p+50X\x1B*p+70Y10\x1B&f10y3X");
snd("e\x1B&f1X"); /* End macro #10 definition */
snd<"\x1B*p-95Y\x1B*p-10X'^); /* Position offset */
snd(»\x1B*t150R"); /* Resolution = 150dpi */
snd(»\x1B*r1A\x0D\x0A»); /* Start raster graphic */
snd("\x1B&f1lY\xlB&f0X">; /* Start macro #11 definition */
/* Position and then redefine macro #11 */
snd( "\x1 B*p+50X\x 1 B*p+70Y11 '■);
/* Send the bit pattern for a box V
snd("\x1B&f11Y\x1B&f0X"); /* Restart macro #11 definition V
snd( "\x1 B*p+50X\x1 B*p+70Y11 •');
snd(»\x1B*b5W\xFF\xFF\xFF\xFF\xFF»); /* Top */
for (cnt = 0; cnt <31; cnt++)
snd("\x1B&f11Y\x1B&f0X"); /* Restart macro #11 definition */
snd("\x1B*p+50X\x1B*p+70Y11");
snd<"\x1B&f11Y\x1B&f0X"); /* Restart macro #11 definition */
8ndl("\x1B*b5W\x80\x00\x00\x00\x01", 10); /* Mid */
snd("\x1B*b5W\xFF\xFF\xFF\xFF\xFF"); /* Bottom */
snd( »\x1 B*fh-50X\x 1 B*p+70Y11") ;
snd<"f\x1B&f1X"); /* End macro #11 definition */
/* End the box and the macro */
8nd(»\x1B*rB\x1B&f1X»);
snd("\x1B&f*1Y\x1B&f0X"); /* Start macro #-1 definition */
/* Position and type -1 */
snd("\x1B*p+50X\x1B*p+70Y-1");
/* Position cursor, push location, execute macro V
snd("g\x1B&f1X"); /* End macro #-1 definition */
/* Position cursor, execute macro #6 */
txt = "\xlB*p??00X\xlB*p100Y\xlB&f0S\x1B&f1y2X";
p a strchr(txt, '?'); /* Point to fill location */
for (cnt a 1; cnt <= 22; cnt++)
snd("\x1B*p100X\x1B*p900Y\x1B&f6y2X");
/******************* gpjj macro depth test ****************/
p[0] = 'O' + cnt/10; /* Format 10s digit */
p[1] = 'O' + cnt%10; /* Format Is digit V
snd(txt); /* Send to the printer */
snd("\xlB*p400X\xlB*p900Y\xlB&f10y2X»); /* recursive test */
snd<"\x1B*p800X\xlB*p900Y\x1B&f11y2X"); /* redefinition test */
>
snd("\xlB*p1200X\xlB*p900Y\xlB&f-1y2X");
/* Pop location, write numbers */
/* Eject page */
txt = "\x0D\x0A\xlB&flS??";
snd("\f");
p = strchr(txt, '?'); /* Point to fill location */
for (cnt a 1; cnt <= 21; cnt+*)
<
> /* End MAIN */
USTING3: PUSHPOP.C
p[0] = 'O' + cnt/10; /* Format 10s digit */
p[13 = 'O' + cnt%10; /* Format Is digit */
snd(txt); /* Send to the printer */
/*
* PUSHPOP -- PC Tech Journal Laser Printer Graphics Box Test
>
/* Eject page */
*
* Version 1.0
*
snd("\f");
* Copyright (c) 1987, Ziff Communications Company
* Program by: Rainer McCown
it
> /* End MAIN */
* This routine uses a simple macro to draw a graphics box at 22
* positions across the page. A push is executed after the first 21
* boxes are drawn. 21 pops followed by the numbers 01 thru 21
UST1NG4: COMPLEX.C
1 *
* respectively are then printed.
* COMPLEX -■ PC Tech Journal Laser Printer Page Complexity Test
*
*/
* Version 1.0
#include "string.h"
#define STD_OUT 1
*
* Copyright (c) 1987, Ziff Communications Company
* Program by: Rainer McCown
extern void sndUchar C3, int),
snd (char [] ),
* This routine tests the level of complexity which the printer can
* handle. It draws a large number of vertical rules on the page.
setbinary(int);
y******************************* MAIN *******************************/
* The rules start at various vertical offsets gradually increasing
* the complexity to beyond the limit of the HP printer.
*1
void mainO
#include "io.h"
#include "string.h"
<
#include "fcntl.h"
int cnt;
char *txt, *p;
#define STD_OUT 1
/* Change STD_CXJT to binary mode to avoid
converting LFs to CR,LF and to avoid
extern void sndKchar [] , int),
snd (char []),
stopping on EOFs
setbinary(int);
SEPTEMBER 1987
87
or
our^ Vtt
teWivd-
irtce
1987
«50V^^'^^„,^g..J“-‘"'’
. Co^V^
" ”-"":>s 0 ^
/ntPj
[^ Professional C function library
Sf 30 day money back guarantee
1^ Multiple bullet proof windows
Sf Easy full screen data entry
1^ Unlimited data validation
Context sensitive help manager
Menus like Lotus and Mac
[^ Programmable keyboard handler
[^ Text editor routines
Sf No royalties or runtime fees
1^ Library source included FTREE
[^ Free technical support
^ Free BBS at (214)418-0059
1^ Supports all major compilers
including Microsoft 5.0
1^ VCScreen code generator too!
UNIX version avaialable,
call for details
LASER METRICS
void tnainO
<.
. .Int.cnt;
char *txt, *p1, *p2;
/» Change STDJXJT to binary mode to avoid
converting LFs to CR,LF and to avoid
stopping on EOFs */
setbinary<STDJ)UT);
/* Initialize the printer */
snd("\x1BE“); /* Reset the printer */
snd(«\x1B&lOO‘'); < /* Portrait mode V
/* Position the cursor and draw a vertical rule */
txt = ''\xlB*p???0x!!!0Y\xlB*c1al900b0P";
pi = strchr(txt, /* Point to 1st fill location */
p2 != strchrCtxt, M*); /♦ Point tb^2nd fill location V
for (cnt = 1; cnt <= 109; cnt-H-) ' ;
/* Format the first fill location with leading zeros */
sprintf(p1, ''%03u”, cnt);
pi [33 » ‘O*;
/* Overwrite SPtiMTF terminating zero */ . nu.
sprintf(p2, '•%03u‘', cnt);
p2[3] = 'O'; /* Overwrite SPRINTF terminating zero */
sndCtxt);
/* Send tO‘ the .printer */ ‘ r ’* ^
for (cnt a 111; cnt <* 219; cnt++)
/* Format the first fill location with leading zeros */
sprintfCpI, »'%03u", cnt);
p1C33 S' '0*; /* <3verwrite SPRINTF terminating zero*/
sprintf(p2, "%03u", cnt * 110);
p2C3] = 'O'; ' /* Overwrite SPRINTF terminating zero */
snd(txt);
/* Eject page */
/* Send to the printer */
snd("\f");
>/*"lnd MAIN */ \ ' ‘
USTING5: PAGESIZE.C
/*
* PAGESIZE •• PC Tech Journal Laser Printer Page Size Test
\i "
* Version 1.0
*
* Copyright (c) 1987, Ziff Conminications Company
* Program by: Rainer McCown
* This program determines the printable page size by positioning
* the cursor and then printing a character. The HP LaserJets
* will print the numbers through 7 (on the top, right, and bottom
* sides) the others are off of the page. The locations beyond
* the left margin are negative and cannot be addressed which
* shoves the higher nuntoers back onto the page.
#define STD_OUT 1
extern void sndUchar [], int),
snd (char [3),
setbinary(int);
void mainO
<
/* Change STDjOUT to binary mode to avoid
converting LFs to CR,LF and to avoid
stopping on EOFs */
setbinary(STD_OUT);
/* Initialize the printer */
snd(»\xlBE");
snd(»\xlB&lOE");
snd("\x1B&s1C");
snd("\x1B9");
snd("\xlB&lOO");
/* Look for top edge */
/* Reset the printer */
/* Zero the top margin */
/* Disable EOL wrap */
/* Clear margins */
/* Landscape mode */
snd( "\x1 B*p500x230Ya‘') ;
snd("\x1B»pf100x'20Y1");
snd("\x1 B^pH 00X-20Y2" ) ;
snd(“\x1B*p+1OOx-20Y3");
snd("\x1B*pf1OOx * 20Y4");
snd("\x1B*pf100x-20Y5»);
snd("\x1B*p*1OOX-20Y6");
snd("\x1B*p+100x-10Y7»>;~
snd( ”\x1 B*p+1 OOx- 1 0Y8") ;
snd(«\xlB*pf100x-10Y9»);
snd("\x1B*p+1OOx-1OYO");
/* Look for bottom edge */
. snd(»\x1B*p500x3090Y#");'-'' .
8nd(M\x1B*p»‘l00x+20Y1");
snd( »\x1 B*p<-100X+20Y2") ;
snd("\x1B*pH 00X+20Y3");
snd("\x1B*p+100X+20Y4");
snd("\x1B*p^100x+20Y5");
snd( "XxlB*^!00x+20Y6‘');
snd(»\x1B*p4'100x+10Y7");
snd( "\x1 B*p<-100x+10Y8" ) ;
snd("\x1B*p+100x+10Y9»);
snd("\x1B*p+1OOx+1OYO");
/* Look for left edge */
snd("\x1B*p130x500Y$»);
snd("\x1B*p-50x+1OOY1");
snd("\x1B*p-50X+100Y2");
8nd("\x1B*p-50x+100Y3");
snd("\XlB*p-50x+100Y4");
8nd("\x1B*p-50X+100Y5");
snd( "\x1 B*p- 50X+1 00Y6" ) ;
snd("\x1B*p-40X+100Y7");
snd("\x1B*p-40X+100Y8");
snd( "\x1 B*p-40x+100Y9'');
snd("\x1B*p-40x+1OOYO");
/* Look for right edge */
snd("\x1B*p2240x500Y%");
snd("\x1B*p-1Ox+100Y1");
snd("\xlB*p-10X+100Y2");
shd("\x1B*p*IOx+100Y3");
snd("\x1B*p-1Ox+100Y4");
snd("\x1B*p-1Ox+100Y5");
snd("\x1B*p-1Ox+100Y6");
snd("\x1B*p-20X+100Y7");
snd(‘'\x1B*pf20X+100Y8");
snd("\x1B*p-20X+100Y9");
snd("\x1B*p-20x+1OOYO");
/* Eject page */
snd("\f«);
> /* End MAIN */
SEPTEMBER 1987
89
The Next Evolutionary Step
In Editing Source Code
Source Code Files
Menu Shell Doubles as an
Instant Command Key Reference
(Use of menu is optional)
sF7-File Dire<
A:\ERR.MSG INSERT AUTOINDENT Line
Fl-Files
sFl-Find/Replace aFl-Cut&Paste aFlO-Utilities sFlO-Parameters
Context Sensitive Help
F2-Get File
■F3-Release File
■F4-Save Release
‘F5-Save Bak Release
‘F7-Write File
‘F8-Print File
'F9-Rename File
FI = Help
pene(); ^
NSIZE + 1];
rgv[l],''ra'',path)))
"open ”);
INSERT FILE Command
struct hdr{ _
--- llli_Lipin
byte yy;
bytg.^arf*^'^
byte dd;
long no_recs;
unsigned header_len;
l|signed reclen;
ar filler[20];
'ts the contents of a user
specified file above the current line.
fdesc{
ar fldname[ll];
—“ar fldtype;
long fda;
A:\XAPP.C INSERT AUTOINDENT Line 12 Col 17 I
XAPP.c 13 Warning 93: no reference to identifier "ofp"
XAPP.c 13 Warning 93: no reference to identifi^rjlficctt-
XAPP.c 14 Error 77: identifier expected
XAPP.c 14 Error 77: identifier expected
XAPP.c 14 Error 57: semi-colon expected
Compiler Error Messages
The difference is in the
human interface
While most of the other major
program editors are based on
yesterday's methodologies of main¬
frame and mini computer editors,
VersiEdit uses a fresh approach
that is best suited for PC’s.
The commands are assigned to keys
for the best use of the PC keyboard.
The interface is optimized for a mini¬
mum number of key strokes per
task. VersiEdit has true context sen¬
sitive help. You can execute the
commands either through the menu
or directly. VersiEdit is incredibly
easy to use. To get started, all you
need to know is three keys; Help,
Menu, and Cancel.
Ease of use with no
compromise in power
• Windows—Vertical, Hori¬
zontal, Adjustable (max 8)
• Excellent Directory and Envi¬
ronment Variable Support
• Powerful Cuts Paste
and Find/Replace
• Supports all Computer
Language Formats (indents,
line numbers)
• Restores Deleted or
Modified Lines
• EGA Large Display
• Brace/Parenthesis/Bracket
Balancing
• Summary Display
• Auto Indent
• DOS Gateway
• Easily Customized
• Much More
Ity VersiEdit at no risk
We are confident that you will like
the look, feel, and function of
VersiEdit. Try it for 30 days. If for
any reason you are not completely
satisfied, return it for a full refund.
ORDER TODAY TOLL FREE
(800)521-6308,
In Virginia (703)820-9515
$ 149 plus $5 shipping and handling,
Virginia residents add $6.93 sales tax
Minimum System Requirements:
PC or compatible with 320K RAM,
DOS 2.0 or higher
CvberTech
The Quality Software Company
RO. Box 1337
Falls Church, VA 22041
CIRCLE NO. 114 ON READER SERVICE CARD
LASER METRICS
11 S 3 XVG 6 : RULES.TXT
* RULES -• PC Tech Journal Laser Printer Rules and Patterns Tests
*
^ Version 1.0 „ ,
..::.:., . .. J;,;*;'':.'.
* Copyrlaht <c> 1%7, Ziff Comnunicatlons Company -
* Program by: Rainer HcCown
*
This example program was entered via a text editor and
theiprfnter i,1s, ex6>cl8«ld using thb DOS coiiiifend below; ' i , ’ ^
COPY RULES/B.LPTI
These first commands print all 6 of the built in patterns.
<ESO*plC0x2C0y<ESO*c300a400btg3P ,
<ESC>*pSOOx2O0Y<ESC>*c3OOa4OOI^g3P , i I
<ESC>*p900x200Y<ESC>*c300a400b3g3P
<ESC>*p1300x200Y<ESC>*c300a400b4g3P
<ESC>*p1700x200Y<ESC>*c300a400b5g3P
<ESO*pZ100x200Y<ESC>*c300a400b6g3P
The next 9 commands print all different shades of, gray.'
<ESC>*pl00 x800Y<ESC>*c300a400b1g2P
<ESC>*p500 x800Y<ESC>*c300a400b3g2P
<ESC>*p900 x800Y<ESC>*c300a400b11g2P r,,
<ESC>*p1300x800Y<ESC>*c300a400b21g2P ' ’
<ESC>*p1700x800Y<ESC>*c300a400b36g2P
<ESC>*p2100x800Y<ESC>*c300a400b56g2P
<ESC>*p100x1400Y<ESC>*c300a400b81g2P
<ESC>*p500x1400Y<ESC>*c300a400b100g2P
The next 4 commands print a box, a horizontal line
a vertical line, and a single dot.
<ESC>*p900x1400Y<ESC>*c300a400bOP
<ESC>*p1300x1400Y<ESC>*c300a1bOP
<ESC>*p1700x14C0Y<ESC>*cla400b0P
<ESO*p2100x1400Y<ESO*cla1b0P
The last 3 boxes are printed beyond the edge of the
paper to determine the printable box margins.
<ESO*p100X<ESO*p-200x2000Y<ESl>*c600a400b0P ;
<ESO*p2100x2000Y<ESC>*c600a400b0P ; - ^
<ESC>*p1100x2000Y<ESO*c300a1400b0P ' /
USTING7: GRAPHICS.C
/* GRAPHICS PC Tech Journal Laser Printer Full Page Graphics Test “
* Version 1.0
*
* Copyright (c) 1987, Ziff Communications Company
* Program by: Rainer McCown
* This program uses the random number generator to generate
* a fandom but uniformly grey backgqund pattern which is used
* to show page printing uniformity, the grai^ics page print
* time, and amount of available printer memory. To print
* the full page requires one megabyte of available memory. */
#include »8tdlib.h“
#def ine STDjaiT 1
extern yoid sndUchar C3, inj:)/; /
snd (char []),
setbinary(int);
unsigned char
rrayC7 85*300/10/83;
/* 7 bytes of header
- 8.5“ * 300 dpi / 8bits/byte ,*/ ;
MAIN
void mainO
C
int row,, cnt, hdrsiz;
/* Change ST0_OUT to binary mode to avoid converting LFs to CR,L
and to avoid stopping on EOFs */
setbinary(STD_OUT);
fliipig
/* Zero the top margin */
/* Disable EOL wrap */
/* Clear margins */
/* Landscape nwde ^ p - */
/*'jl^oTiitiofi « SOOdpi
/* Start raster graphic
/
*/
/* Initialize the printer:5 a ^, - . - '
‘ snd(«^\x1BB»l); i. % ; '' o/* Reset fhe printer n*A
^ snd<''\x1B&l0E");
snd(''\x1B&s1C'');
snd("\x1B9‘');
;snd(«\XlB&lOO‘»);
: ’ /* Senc^ '|iata to pr i nter 5/p.
snd(‘'\xi8%9qR«); ’ \ ‘ ’
snd(‘'\x1B*r1A»>;
/* Send the bit pattern for a box
strcpy(&rray[0], "\x1B*b318W");
hdr$iz*a.stril*en<lRirtayC03b;
for< row’' # ^1; 33pq;''":'roV<+-f)>.' ■'V.
< ^ f
forCcnt s hdrsiz; cnt < sizeof(rray); cnt++)
r ray Cent] = 1 « (randO & 7);
sndKrray, sizeof(rray));
W’
;V’*'End the^rkster,gra|*to'*/; .
"%fWiCM^1B*rW?),; '-’V' , ''
/* Eject page */
sndC'Xf");
> /* End MAIN */
.ftt-
r>,' ,,
iilii
III
USINGS:
Hi
/* RESOLUT •• PC Tech Journal Laser Printer Resolution Test
* Version 1.0
* q^right (c) 1987, Ziff Cwnmuni cat ions Company,
* Progr^ by;; Rainer McCown and Bob Smith . ’ ^
* Prints a sefiei of high-resoluticb patterns showing detailing
* capabilities of laser printers */
’■f-:
#include "io.h"
#define MsitZ 64
char mata tMSIZ+13 = C
•>0000000000000001000000000000000000000000000000001OOOOOOOOOOOOOOO",
" 0000000000000001100000000000000000000000000000011000000000000000 ",
" 0000000000000001110000000000000000000000000000111000000000000000 ",
•• 0000000000000001111000000000000000000000000001111000000000000000 ",
" 0000000000000001111100000000000000000000000011111000000000000000 ",
" 0000000000000001111110000000000000000000000111111000000000000000 ",
" 0000000000000001111111000000000000000000001111111000000000000000 ",
" 0000000000000001111111100000000000000000011111111000000000000000 ",
" 0000000000000001111111110000000000000000111111111000000000000000 ",
" 1111111111111111111111111000000000000001111111111111111111111111 ",
" 11111111111111111111111 . 11100000000000011111111111111111111111111 ",
" 1111111111111111111111111110000000000111111111111111111111111111 ",
" 1111111111111111111111111111000000001111111111111111111111111111 ",
" 1111111111111111111111111111100000011111111111111111111111111111 ",
" 1111111111111111111111111111110000111111111111111111111111111111 ",
" 1111111111111111111111111111111001111111111111111111111111111111 ",
" 1111111111111111111111111111111111111111111111111111111111111111 “,
"111111111111111111111111111111100111111111111111111111111111T111",
" 1111111111111111111111111111110000111111111111111111111111111111 ",
" 1111111111111111111111111111100000011111111111111111111111111111 ",
" 1111111111111111111111111111000000001111111111111111111111111111 ",
" 1111111111111111111111111110000000000111111111111111111111111111 ",
" 1111111111111111111111111100000000000011111111111111111111111111 ",
" 1111111111111111111111111000000000000001111111111111111111111111 ",
" 0000000000000001111111110000000000000000111111111000000000000000 ",
" 0000000000000001111111100000000000000000011111111000000000000000 >',
" 0000000000000001111111000000000000000000001111111000000000000000 ",
•> 0000000000000001111110000000000000000000000111111000000000000000 ",
" 0000000000000001111100000000000000000000000011111000000000000000 ",
" 0000000000000001111000000000000000000000000001111000000000000000 ",
" 0000000000000001110000000000000000000000000000111000000000000000 ",
" 0000000000000001100000000000000000000000000000011000000000000000 ",
" 0000000000000001000000000000000000000000000000001000000000000000 ",
in: “ .. ..
iiiii
SEPTEMBER 1987
91
NOW
TOUCAN HAVE
THEMOmiTOUVE
AIMMSWiNTED
ATAPRKE
TOU NEVER E®EAMED
TOUCOULDGET.
At Hayes we just found a way to make the best-selling PC modems in
the world even better. We lowered their price. From now on our
Smartmodem 2400,''' Smartmodem 2400B,''' Smartmodem 1200,'''
Smartmodem 1200B,''' Smartmodem 1200C''' and our new
Smartmodem 1200A'''will cost considerably less. Up to one-third less.*
So if you’ve always wanted a Hayes modem, external or internal, for an
IBM PC or compatible. IBM PC Convertible,
Apple' Macintosh**Apple II. or almost
any other PC. now you don't have to setde
for less. Just pay less.
m
SMARTMODEM 2400 #
OOHayes* hs
AA
CD OH
RD
SD
TR
t
MR
(0 1987 Hayes Microcomputer Products, Inc. P.O. Box 105203. Atlanta. GA 30348. 404-4411617
*Based on estimated retail prices. **Requires external modem.
lASER METRICS
char matin [MSIZ+1] = C
•'0101010101010101010101010101010101010101010101010101010101010101",
"0101010101010101010101010101010101010101010101010101010101010101".
"0101010101010101010101010101010101010101010101010101010101010101".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
"0101010101010101010101010101010101010101010101010101010101010101".
"0101010101010101010101010101010101010101010101010101010101010101".
"0101010101010101010101010101010101010101010101010101010101010101".
"0101010101010101010101010101010101010101b10101010101010101010101".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
"0101010101010101010101010101010101010101010101010101010101010101".
"0lbl010101010101010101010101010101010101010101010101010101010101".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
"0101010101010101010101010101010101010101010101010101010101010101".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
" 0101010101010101010101010101010101010101010101010101010101010101 ".
>;
char matZC] CMSIZ+1] = T
"1110111011101110111011101110111011101110111011101110111011101110".
"1010101010101010101010101010101010101010101010101010101010101010".
"1110111011101110111011101110111011101110111011101110111011101110".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"1110111011101110111011101110111011101110111011101110111011101110".
" 1010101010101010101010101010101010101010101010101010101010101010 ".
"1110111011101110111011101110111011101110111011101110111011101110".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"1110111011101110111011101110111011101110111011101110111011101110".
" 1010101010101010101010101010101010101010101010101010101010101010 ".
"1110111011101110111011101110111011101110111011101110111011101110".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"1110111011101110111011101110111011101110111011101110111011101110".
"1010101010101010101010101010101010101010101010101010101010101010".
"1110111011101110111011101110111011101110111011101110111011101110".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"1110111011101110111011101110111011101110111011101110111011101110".
"1010101010101010101010101010101010101010101010101010101010101010".
"1110111011101110111011101110111011101110111011101110111011101110".
"0000000000000000000000000000000000000000000000000000000000000000".
"1110111011101110111011101110111011101110111011101110111011101110".
"1010101010101010101010101010101010101010101010101010101010101010".
"1110111011101110111011101110111011101110111011101110111011101110".
"0000000000000000000000000000000000000000000000000000000000000000".
"1110111011101110111011101110111011101110111011101110111011101110".
" 1010101010101010101010101010101010101010101010101010101010101010 ".
"1110111011101110111011101110111011101110111011101110111011101110".
"0000000000000000000000000000000000000000000000000000000000000000".
"1110111011101110111011101110111011101110111011101110111011101110"'.
"1010101010101010101010101010101010101010101010101010101010101010".
"1110111011101110111011101110111011101110111011101110111011101110".
"0000000000000000000000000000000000000000000000000000000000000000".
"1110111011101110111011101110111011101110111011101110111011101110".
>;
char mat3[] [MSIZ+1] = T
"1010101010101010101010101010101010101010101010101010101010101010".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"1010101010101010101010101010101010101010101010101010101010101010".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
" 1010101010101010101010101010101010101010101010101010101010101010 ".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
" 1010101010101010101010101010101010101010101010101010101010101010 ".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
" 1010101010101010101010101010101010101010101010101010101010101010 ".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"1010101010101010101010101010101010101010101010101010101010101010".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
" 1010101010101010101010101010101010101010101010101010101010101010 ".
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"1010101010101010101010101010101010101010101010101010101010101010".
"OOOOOOOqOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO".
"1010101010101010101010101010101010101010101010101010101010101010".
"0000000000000000000000000000000000000000000000000000000000000000".
"1010101010101010101010101010101010101010101010101010101010101010".
"0000000000000000000000000000000000000000000000000000000000000000".
"1010101010101010101010101010101010101010101010101010101010101010".
"0000000000000000000000000000000000000000000000000000000000000000".
"1010101010101010101010101010101010101010101010101010101010101010".
"OOOpOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO".
"1010101010101010101010101010101010101010101010101010101010101010".
"0000000000000000000000000000000000000000000000000000000000000000".
" 1010101010101010101010101010101010101010101010101010101010101010 ".
"0000000000000000000000000000000000000000000000000000000000000000".
"1010101010101010101010101010101010101010101010101010101010101010".
"0000000000000000000000000000000000000000000000000000000000000000".
"1010101010101010101010101010101010101010101010101010101010101010",
" 0000000000000000000000000000000000000000000000000000000000000000 ",
"1010101010101010101010101010101010101010101010101010101010101010";
>;
char mat4[3 [MSIZ+13 = i
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"1111110001111100000011111000000000000000000000000000000000000000".
"0001110010001110000100011100000000000000000000000000000000000000",
"0001110100000011001000000110000000000000000000000000000000000000".
"0001111000000011110000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000".
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"0001110000000011100000000111000000000000000000000000000000000000",
"1111111110011111111100111111111000000000000000000000000000000000",
" 0000000000000000000000000000000000000000000000000000000000000000 ",
" 0000000000000000000000000000000000000000000000000000000000000000 ",
" 0000000000000000000000000000000000000000000000000000000000000000 ",
" 0000000000000000000000000000000000000000000000000000000000000000 ",
" 0000000000000000000000000000000000000000000000000000000000000000 ".
"0000000000000000000000000000000000000000000000000000000000000000".
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000".
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000",
>;
SEPTEMBER 1987
93
What experts are saying about PC Scheme
horn Texas Instruments:
Dn Dobb^s Journal, February 1987
Discover how powerful—and
inexpensive—PC symbolic program¬
ming can be with PC Scheme from
Texas Instruments. Whether you’re an
experienced Lisp programmer or just
beginning, PC Scheme is the complete,
$95* solution to your software
development needs.
PC Scheme combines elegant
simplicity with remarkable speed in a
full Lisp development system. Named
PC Tech JoumaVs Product of the
Month (August 1986), PC Scheme
brings professional Lisp programming
features to personal computers.
261933A
© 1987 Tocas Instruments Incorporated
PC Scheme 3.0
—Optimizing incremental byte-code
compiler for ease of programming
and operation
—EMACS-like editor
—Lexical scoping of variables
—Ability to suspend PC Scheme,
execute DOS-based programs, then
return to PC Scheme
-Random-file access and binary-file
support
—Extensions for debugging, graphics
and windowing
—External language interface to C,
Turbo Pascal® and other languages
—SCOOPS (Scheme Object-
Oriented Programming System)
-Two-megabyte extended/expanded
memory support
—New manuals with tutorials and
examples
Find out for yourself why experts are
praising PC Scheme. For the dealer
nearest you, or to order by phone, call
toll-free:
1 - 800 - 527-3500
* TJ Suggested list price
PC Scheme runs on IBM® Personal Compiaers and compatibles
(including the Thcas Instruments Business-Pro™ computer).
Minimum configuration: 512K RAM, dual floppy system.
Turbo Pascal is a registered trademark of Borland International.
IBM is a registered trademark of International Business Machines
Corporation. Business-Pro is a trademark of Texas Instruments
Incorporated.
Texas
Instruments
LASER METRICS
char mat5[] [MSIZ+1] = C
"1111111111111111111111111111111111111111111111111111111111111111'',
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
" 1111111111111111111111111111111111111111111111111111111111111111 ",
"1111111111111111111111111111111111111111111111111111111111111111",
" 1111111111111111111111111111111111111111111111111111111111111111 ",
"1111111111111111111111111111111111111111111111111111111111111111",
" 1111111111111111111111111111111111111111111111111111111111111111 ",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
"1111111111111111111111111111111111111111111111111111111111111111",
};
struct PRT_LINE
i
char lhd[5];
char line[MSIZ/8];
};
struct PRT_LINE
prt_line = C'\xlB', '*', 'b', '0'+MSIZ/8, 'W'>;
#define LINE_LEN sizeof(prt_line)
#define STD_OUT 1
extern void sndUchar [], int),
snd (char []),
setbinary(int);
/*************************** pmat **********************************/
void pmatCmats)
char mats[] [MSIZ+1];
i
int row, col, bit;
unsigned char byte;
/* Send header info to printer */
snd("\x1B*p+200x0100Y"); /* Position the output on the page */
snd("\x1B*rlA"); /* Start raster graphics mode */
/* Translate MATS into bits for output to printer */
for (row = 0; row < sizeof(mat)/sizeof(matCO]); row++)
<
for (col = 0; col < MSIZ; col += 8)
C
for (byte = 0, bit = 0; bit < 8; bit++)
byte = (byte « 1) | (mats[row][col + bit] == '1');
prt_line.line[col » 3] = byte;
>
/* Write out a line's worth */
sndl((char *) &prt_line, LINE_LEN);
>
/* End raster graphics mode */
snd("\x1B*rB");
/******************************* main *******************************/
void mainO
i
int row, col, bit;
unsigned char byte;
/* Change STD_OUT to binary mode to avoid
converting LFs to CR,LF and to avoid
stopping on EOFs
*/
setbinary(STD_OUT);
/* Initialize the printer */
snd("\xlBE");
/* Reset the printer */
snd("\x1B&lOO");
/* Portrait mode V
snd("\xlB*t300R");
/* Set the printer resolution */
/* Send the bit patterns
to the printer */
pmat(mat);
pmat(matl);
pmat(mat2);
pmat(mat3);
pmat(mat4};
pmat(mat5);
/* Eject the paper */
snd("\f");
> /* End MAIN */
UST1NG9: DOWNLD.C
/* DOWNLD -* PC Tech Journal Laser Printer Font Download Test
*
* Version 1.0
*
* Copyright (c) 1987, Ziff Communications Company
* Program by: Rainer McCown and Bob Smith
*
* This routine downloads a font for a single character. It
* demonstrates how to construct the appropriate commands necessary
* to define a font. Even though the font defines but a single
* character, it can be generalized easily.
*/
#define STD_(XJT 1
extern void sndUchar [], int),
snd (char []),
setbinary(int);
struct FONTDESC_STR
<
int C26;
char CO,
ftype;
int DO,
baseline,
cellwidth,
cellheight;
char orientation,
spacing;
int symbolset,
pitch,
height,
EO;
char FO,
SEPTEMBER 1987
95
See How Your Existing User Documentation
Can Go
From this:
To this:
CHAPTERS
SPECIAL FUNCTIONS
CHANGE DATE
This special function allows you to change the date without turning off the computer.
Although you can type over any date when making journal entries, it is faster to set the
date to the day you are posting so all you have to do is press ENTER when asked for the
date.
This special function is where all funds and sub-funds are set up and described. THIS IS
THE FIRST THING YOU MUST DO BEFORE ANYTHING ELSE IN THE GENERAL
LEDGER.
When you choose this option, this menu appears.
When the new year funds are set up, the current month is also set. That month is part of
each journal number for the month and the default date on all reports. If the date must
be changed, type N and press FI to return to the G/L menu and choose #14 (end
month) as many times as it takes to reach the proper month. For more information about
the current month, see #14 End Month.
The following procedure explains how to set up a new fiind or sub fund. Bold print shows
what you will see on the screen:
for as low as $20* per page!
This service includes page design, formatting, proofing,
light editing, screen enhancements, and camera ready copy.
Xanthus...the documentation experts!
* This price typical of documentation upgrade service as shown;
source material provided on diskette In ASCII, WordStar, or WordPerfect;
and a minimum page count.
Xanthus Corporation • 9171 Capital of Texas Hwy. • Austin Bldg., Ste. 230 • Austin, TX 78759 • (512)343-5030
CIRCLE NO. 214 ON READER SERVICE CARD
Ml aaawHuas
i6
ido 91 a q9i
aoeds paxij a dg
/• NIVW PU3 */ C
SB las loquiXs *o sjaiauiejed 3Ui*aa «/
•*(mAii)PUS
/jf g-UBUioa las ^oqiuXs loaps */ •(iii8)ai,x\ii)pus
apoto iiBJiJOd ♦/ •'(..0018aix\ii>pus
/» aBed joafg */
suiBjbui JBaio */ .'(i.6aiAu)pus
/* dBJM 103 BiqBsia g>/ 4..3is>jaix\„)pus
i (iiUX08Z01 )a lx\X9££d*a lx\AZ«^£d*a ix\„ >pus
/* uiBjbui doi aqi ojaz ♦/ 4ii3018aix\ii)pus
/* jaiuud aqi lasaa »/ •'(ii3aix\n)pus
-*(£ « <Z + MJBM3 ♦ MJBqo) 'duiDipus
/j^ jaiuijd aqi aziiBil.iui «/
i«/ 8 <f + pup) - Z> » <iOi - ♦4d*) =1 C£ « (f + pui)]ctan
4ino“aiS)XJBUiqia8
(++f
fMjei|3 > r
/^^ 8303 uo Buiddois
•"0 = f = d)JO*
PIOAB 01 pUB dl'ao 01 SJ1 BUllJSAUOO
(++i 'MJeqo s+ pui fqjsqo > i .*o » i = pui)JOJ.
piOAB 01 apoul XJBUiq oi ino”aiS aBuBqo ,/
t^, |U, Jd^OBjeqa aq:^ uu6^ qaiqn 8;)q aqi aui^aa »/
.'f 4 'put lui
.'d* 't£ « (OS » 05)3*a JBqa
f((dui));).oazis *0 'du]z)zasuiaui
fqjBqo 'MJBqo 'zisBsui lui pauBisun
11 asn-aj aw aseo ui sojaz na oj dWl aziiB.Uiui */
>
f((9Sdpj8qa>^oazis 'asapjeq3>sf (« Jeqa})ipus
Ouieui ptOA
.*(clun)pus
jazoBjeqo peoiuMop ue^s */ -'(zisBsui *nnp%s)aix\„ 'dyuO^juuds
.'qjeqa ^ a/Mjeqa +
i
uoijjod Biep snid japsaq azis */ (osapjBqo)^oazis = zisBsuj
i(S » (Axo 8 BlXqi) 1 g « aiXqi)UJniaj
;()q6iaqjBq3*3sapjBqa)d6MS = qjBqa
!(q}piMJBq9*3sapjBq3)dBns s MJBqo
faiXqi lui pauBisun
s)op jazjBnb s^iun ui
Buijuud jai^B Slop 2 i di5|s */ i(£2j»i^)clBMS = XBiiap’osapjBqo
(aiXqi)dBns lui pauBisun
Slop ui jaiOBJBqo ^o iqBiaH ♦/ .'(9i)dBMS = iqSiaqjBqo’osapjoqo
Slop ui jaioBJBqa ^o qipin «/ v(ti'2}deMS s qiptMJBqo'osapjBqo
/4iJ(;f|HHI^I^^I^¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ dVftS ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥/
/y. liao jaiOBjaqo utqiin «/ f(2i)dBMS s j.^odoi’0sspjBq9
..." ■'<
/tf, iiao jaioBJBqo uiqiin >$./ f(i,)dBHS s ^^oi^ai'OsapjBqo
'iioooouuuuiooumiiun’
/j^ adsospuBi = 1, 'iiBJiJod = 0 ♦/ 'O = uoiiBiuauo’osapjsqo
' IIOOOOOOO1L LOOOOOOOO 11 IOOOh
/* n lUBisuoD */ in = l^p-osapjBqo
' ilOOOOOOO 1UOOOOOOOO1UOOOII
/♦ V 1UB1SU03 ,i/ i*; = t^Q-osapjBqo
' iiOOOOOOO U lOOOOOOOO U LOOOii
/* I lUBisuoo ♦/ 4 =: p-osapjBqo
'iiOOOOOOOUiOOOOOOOOU lOOOii
' IIOOOOOOO li lOOOOOOOO U lOOOii
/« iU| jaioBJBqo aqi joj. uapsaq aqi aui^aa «/
' tiOOOOOOO 1 liOOOOOOOO 11 tOOOii
' mOOOOOOO L1 LOOOOOOOO U lOOOii
•"(ii30lP#aix\„)pus
' iiOOOOOOO 11 LOOOOOOOO 11 lOOOii
/* ,u, jaiiai aqi jo* apoo ipsv aqi aquosaa */
'iiOOOOOOOL L LOOOOOOOO L L LOOOn
* iiOOOOOOOLL LOOOOOOOO L L LOOOli
4Cosapiuo*,)*oazjs 'osapiuo*^ (* JBqo))ipus
' iiOOOOOOO L L LOOOOOOOO L L LOOOii
Uiift9E8(aix\„)pus
' iiOOOOOOO L L LOOOOOOOO L L LOOOn
' IiOOOOOOO L L LOOOOOOOO L L LOOOn
UBUioa saujii = s ♦/ .'(/)dBMS= aoB*adAi*osapiuo*
'iiOOOOOOO L L LOOOOOOOL L L LOOOn
/* (Pioq) 1 01 (iqBii) Z- */ iQ = iq6iaM*osapiuo*
' liOOOOOOOO L LOOOOOO LO L L LOOOn
on Bill = t 'iqBudn s 0 ♦/ . -0 « aiXis-osapiuo*
. 'iiOOOOOOOOLLLOOOOLOOLlLOOOn
* ••• qB.iq Slop oS */ s iqBiaq'osapiuo*
'nOOOOOOOOOOL1LLLOOOL1LLLLn
/# Slop jaijsnb
> a Hjaiiai^ jBqo
*0 siiun ui apiM siop o£ «/ 40£*^)dBMS = qoiid’osapiuo*
/♦ V9 - in. + Z£*8 = ZZ2
.'osapjBqo ais“3S3aaVH3 lonJis
'g-ueuioa JO* ig Buisn J^/ •(ZZ2)ciBMS = lasioquiAs’osapiuo*
/# leuoiijodojd s V 'paxj* s 0 */ 4 = BuioBds*Dsapiuo*
adBospuBv s l *l|BJiJod s 0 «/ 4o = uojiBiuaijo'osapiuo*
.'xBiiap
/» Itao *0 iqBiaH f(2^r)dBMS a iqBjaqnBO’osapiuo*
'iqBiaqjBqo
/* nao *0 qipin ^^/ /(p)dBMS = qipiMiiao'osapiuo*
'qipiMJBqo
/jf, iiao uiqiiM auiiasBq jaiOBJBqa j^/ 4o£}ciBMS = auiiaseq'osapiuo*
'**odoi
/♦ (BdXi
'**oi*ai lui
luo* iiq./ JO* 0 Bsn) iiq.g fl o adXi**os3piuo*
'00
/* 92 IUB1SU03 ,/ 492)cIbms a 923*os8piuo*
'uoii8iua|,jo
. ' ■ ,-4o .
joiduosap luo* 3ui*aa «/
4L3
•*(.iG0820lo*aix\„)pus
UJ
'P JBqo
y
/m Ql )UB* luajjno 3Ut*aa «/
aiS“3S30aVH3 aonJis
4i.l0q£-s0A8M9ld0S)aix\„)pus
.'osapiuo* aiS"3S3aiN0d lonjis
/« jaiuud auH = 10
4
iqBn = q£-
!aoB*adXi
iqBudn a so
'iqStsM
id g = Ag
'aiXis
SDiajMHSSVl
“The Ada programming language shall be the smgle,
common, high order programming language for...
“...all computers that are integral to, physi¬
cally apart of, dedicated to, or essential in
real time to a performance of the mission
of weapon systems... used for specialized
training, diagnostic testing and mainte¬
nance, simulation, or calibration of weapon
systems... used for research and develop¬
ment of weapon systems... Use of validated
compilers is required... this directive is
effective immediately’
-DoD Directive 3405.2,3/30/87
“...Defense computer resources used in
intelligence systems, for the command
and control of military forces.. .all major
software upgrades.. .all other applications
(some exertions) in keeping with the long
range goal of establishing Ada as the
primary DoD higher order language...
waivers to the policy.. .shall be strictly
controlled and closely reviewed... this
directive is effective immediately’
—DoD Directive 3405.1,4/2/87
* Ada is a registered trademark of the U.S. Government (AJPO).
♦ Introducing PCM Version 3
♦ ♦
The Serious Ada Compiler
For Serious Ada Programmers
If you're a serious Ada programmer today, or expect to be one—if
you’re serious about DoD business and those new DoD directives
—you look for a lot more in your Ada compiler than just validation.
And the new fourth-generation Alsys Ada compiler Version 3 for
the PC AT and compatibles gives it to you.
Take code quality, for example. Version 3 generates the highest
quality code of any Ada compiler on any machine! Check the PIWG
benchmarks, and those of U-Michigan. Compare the quality with
code from the mature C and Pascal compilers you’re used to. Check
especially where you might need quality most, and where Version 3
shines—in the implementation of procedure calls and exceptions.
The elimination of code associated with unused subprograms gives
you large reductions in code size in many applications.
Consider the Runtime Executive. True production quality. No
exception-handling overhead is incurred unless an exception is
actually raised. The Runtime is optimized for programs running in
limited memory, or running for a long time. That’s serious.
Consider the Ada-specific high level optimizer technology (not
derived from Fortran or C) that removes redundant constraints
checks and does so much more for code quality.
Consider robustness and reliability. Version 3 is written in Ada
and bootstrapped through itself. That’s proof right there that it will
compile 400,000 lines of Ada code. Beyond validation, we test our
compilers on hundreds of thousands of lines of extra code—from
the ACEC tests, and from Ada Repository programs, and from our
own specially designed code that breaks most other compilers.
There’s a lot more that’s serious about Version 3. The new Multi-
Libraiy environment, for example, that maximizes the efficiency
of programming teams; error messages that correct, instruct, and
speed the programming process; human engineering; superb
documentation and customer support.
Send for our free brochure
The Many Facets of Quality.
s; human engineering; sc
lupport. ^
In the US: Alsys Inc.. 1432 Main St.. Waltham. MA 02154 Tel: (617) 890-0030
In the UK: Alsys Ltd., Partridge House, Newtown Rd.. Henley-on-Thames.
Oxon RG9 lEN Tel: 44 (491) 579090
In the rest of the world: Alsys SA. 29 Avenue de Versailles, 78170 La Ccllc
St. Cloud. France Tel: 33 (1) 3918.12.44
CIRCLE NO. 105 ON READER SERVICE CARD
♦ ♦
♦ ♦♦!(►♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦
The Many Facets of Quality.
-Send me mo;e,infc|Emation on the PC AT Version 3 Compiler.
-Call me.
Name-
Company-
Address—
City_
-State-
-Zip-
Phone-
PCTJ 987
Alsys. Inc. • 1432 Main Street •Waltham. MA 02154
sMi&and'
HE'Eafeer
imd mcjOii
status ait a
irr^^er to
OfJ^'
ti
^tter, sevi^®<§gmmt di^ay. A display
^;3toflu;died if the printer
cifa bfe of the
Ricoh K I4$er ‘6000,
Most laser
when the printer has data ready), but
the reset command switches the input
tray back to the automatic feed tray.
Each printer uses cartridge-based
engines. TTiose based on the Canon CX
or SX engine, such as the HPs, com¬
bine the toner and the organic photo¬
conducting cartridge (OPC), or photo¬
sensitive drum, in one unit. Printers
based on other engines separate the
OPC and toner; this saves the user very
little cost and complicates shipping by
increasing the chances for toner to spill
inside the machine. Because of this,
danger, the Mannesmann Tally 910
manual devotes a full 12 pages to re¬
packaging instructions.
paper was inserted, or when double-
sided or multipass printing was per¬
formed, all of the printers except
Quadram’s QuadLaser I jammed regu¬
larly, but the jammed paper could be
removed easily.
Except for the QuadLaser I, each
printer tested has a straight-through
paper path and manual feed tray for
heavier paper. All printers provide cor¬
rect-order output stackers, except those
based on the original Canon CX en¬
gine, which includes both the original
LaserJet and LaserJetH-.
The printers var}' in the complex¬
ity of their manual feeders. For exam¬
ple, in the HP Series II the user need
only insert a single sheet, such as an
envelope or viewgraph, into the man¬
ual feeder; no control-panel action is
required, and the operation takes pre¬
cedence over the automatic feed. Other
printers are more restrictive. For exam¬
ple, the Kyocera F-2010 input-tray se¬
lection (which contains two input cas¬
settes in addition to the manual feeder)
cannot be changed when data are in
the printer buffer. When the current
tray runs out of paper, the operator
cannot select the other tray or put
paper into the manual input port to
finish the print job. On the Genicom
5010, tlie user can select the manual
feeder from the front panel (even
cartridge fonts, but not all of them can
use cartridge fonts from the HP emula¬
tion mode. Because these cartridges
are proprietary^ the actual shape or
spacing of the font characters varies
from printer to printer. These individ¬
ual font cartridges were not evaluated
here because they are not transferable
among printers. To be fully HP-compat¬
ible, an application should be able to
use downloadable fonts.
Each printer’s paper-handling sys¬
tem contains the input, printing, and
output sections. The input section con¬
sists of an automatic paper-feed tray
varying in capacity (from 100 to 250
sheets), paper size, and placement.
Some of the printers have two auto¬
matic paper trays and most have a
manual feed slot for inserting a single
sheet of paper—an important feature if
heavy stock or envelopes are used.
Most also u.se a correct-order output
tray with an optional straight-through
paper path for heavier material.
The printing section, where toner
is applied and fused to the paper,
should be accessible when the cover is
opened. This is where most paper jams
occur. Paper quality is directly related
to paper jams. When new copier paper
was used in all printers tested, paper
jams were either extremely rare or
nonexistent. When folded or wrinkled
EVALUATING COMPATIBIUTY
All the printers were tested on a 6-MHz
PC/AT from a parallel port. All features
were related to HP emulation. A sam¬
pling of popular applications was run,
including WordPerfect, Personal TgX’s
PC TgX, Z-Soft’s Publisher’s Paintbrush,
and Xerox’s Ventura Publisher. In addi¬
tion, each of the PC Tech Journal
laser-printer metrics was run.
Tests were also run to measure
times for warm-up and for printing one
page, ten pages, and a full-page
graphic. Warm-up time, from power-on
until the printer is ready to print, in¬
cludes any time needed to download
SEPTEMBER 1987
PHOTOGRAPHY‘UGHTSTRUCK STUDIOS
LASER PERFORMANCE
TABLE 1: Timing Results
HEWLETT-PACKARD
GENICOM
KYOCERA
MANNESMAN
TALLY
OKIDATA
QMS
QUADRAM
RICOH
Model
LaserJet H-
Series II
5010
F-2010
910
Laserline 6
80H-
QuadLaser I
PC Laser
Warm-up time (seconds)
64^
28.2
102
21
22
32
81
116^
35
Time to print one page
of text (seconds)
23
22
23
21
20
27
21
24
25
Time to print 10 pages
of text (seconds)
101
88
82
105
74
114
88
89
111
Pages per minute
6.9
8.2
9.2
6.4
10
6.2
8
8.3
6.3
Time to print full page
random dot metric (seconds)
_ c
134
268
98
_ d
_ e
275
Failed-^
_ g
Tests were performedfrom a diskette driven by 6-MHz IBM AT.
" When printer is warm, warm-up time is reduced drastically; tested at 14 ^conds.
* Timing reflects 59 seconds warm-up plus 57 seconds to get ready for HP emulation
^ Insufficient memory to run test on 1 page; required 3 pages. First page took 63 seconds to print; second page, 73 seconds; third page, 57 seconds. Total time was
193 seconds.
^ Insufficient memory to run test on 1 page; required 3 pages. Pirn page took 136 seconds to print; second page, 129 seconds; third page, 45 seconds. Total time
was 310 seconds.
Insufficient memory to run test on 1 page; required 2 pages. First page took 280 seconds to print; second page, 271 seconds. Total time was 551 seconds. It
crashed after one-half page; had to be reset to continue.
7 Blank page ejected after 180 seconds.
^ Acceptedfull page ofgycphics data but printed only one-half graph. Time was 472 seconds.
The timing tests show speed variations for standard print job performance. A relatively long time is needed for a full-page
graphic because each dot is defined individually when it is sent to the printer. A text image requires fewer bytes.
HP-emulation software. The time to
print one page includes the time to
download the text for the page. Subse¬
quent pages are printed more quickly
because the text is downloaded as the
previous page is printed, and two
pages can be in the paper-feed mecha¬
nism at once. The one-page and ten-
page tests use fonts internal to the
printer on a 356-word single-page
WordPerfect text document.
Table 1 shows the maximum
speed of each printer—the continuous
page-per-minute rate, excluding any
start-up time. In these tests, tlie text is
transferred to the printer for each page
printed; any built-in multiple-copy fea¬
tures are not used. This more closely
approximates typical production print¬
ing; using a multiple-copy feature could
produce an artificially high print rate.
The full-page graphics test is a
worst-case timing test, representing the
maximum time needed to download a
page of data. This test is important for
desktop publishing applications, which
tend to be very graphics oriented.
Beginning with the two HP print¬
ers, each laser printer is described in¬
dividually below. Each one is com¬
pared with the HP standard, judged on
PCL emulation, and is also evaluated
for ease of use, durability, and mechan¬
ical compatibility. The evaluations do
not include all the specific features of
each printer, but instead list the fea¬
tures critical to performance (including
memory capacity), deviations from the
HP standard, any outstanding feature.
and any particular lack. Although only a
sampling of printers is reviewed, the
criteria and the metrics used here can
be applied to other laser printers.
T he LaserJet + really started all the
excitement over laser printing. The
follow-on printer to the LaserJet, it is
based on the same Canon CX engine.
The advantages of tlie LaserJet + over
its predecessor are internal: a defined
PCL having downloadable fonts, as well
as more user-available memory for
these fonts and the graphics.
The Canon CX, the first desktop
laser-printer engine, was developed
from the Canon personal copier. Like
the Canon copier, the LaserJet + houses
the OPC drum and toner supply in one
cartridge; it has a 100-sheet letter-size
paper tray (interchangeable with a
legal-size tray, a manual-feed slot in the
rear, and a right-side-up (as opposed to
a correct-side-up) output-paper catcher.
The right-side-up output tray al¬
lows the operator immediately to see
and correct such problems as a low
toner level or dirt on the optics. How¬
ever, it inconveniently delivers the last
page of a document on the top and the
hrst page at the bottom of the pile.
The control panel of the LaserJet+
has a reset switch and a two-character,
seven-segment display. The ready light
flashes as data are sent to the printer
and the form-feed light comes on to
indicate that data are in the buffer.
A manual input slot in the rear of
the machine provides a straight-through
paper path. However, the user must
first select the manual feed paper op¬
tion on the front panel.
Several of the tests in the PC Tech
Journal LaserJet Software Metrics are
designed to exceed the Laserjet+’s de¬
fined limits. The complexity metric, for
example, was developed because the
LaserJet + had halted while printing an
ordinary, although complex, document.
Exceeding this limit is considered to be
an asset rather than an incompatibility.
The LaserJetH- and Series II pause and
indicate an error message when the
complexity limit is exceeded.
Another opportunity to exceed the
LaserJetH- specification is in the metric
testing the number of fonts allowed
per page. LaserJet-!- limits this number
to 16; the metric was programmed ar¬
bitrarily for 19 fonts.
The macro nesting and the recur¬
sive-macro tests also provide opportu¬
nities to better the HP standard, and
102
PC TECH JOURNAL
nGUREl: Resolution Results
HEWLETT-PACKARD SERIES II
4 ^
■
m
■
HEWLETT-PACKARD LASEiy[ET+
44
■
m
■
GENICOM 5010
44
■m
iPILi
m
■
KYOCERA F-2010
44
■
m,
■
m
■
MANNESMANN TALLY 910
44
■
■
m
■i
OKIDAIA LASERLINE 6
44
■
■H
n
m
■
QMS SMARTWRTTER 80+
44
■
BD
BiB
m
-
QUADRAM QUADLASER I
44
■■
m
m
RICOH PC LASER 6000
44
m
m
m
m
The tested laser printers show distinct variations in resolution. The ability to produce a clear image is important but must be
balanced with the need to produce a shade of gray in a graphics image comparable to the shade printed by the HP machines.
many printers passed this metric. How¬
ever, because this area is important
only to the applications developer, a
laser printer that can exceed the HP
standard does not add to the standard.
Applications written above this standard
do not work across all of the printers
but are device specific. The graphics
test could not be completed on one
page because of the 512KB maximum
memory limitation.
The nonsoftware metrics of resolu¬
tion, consistency, and black coverage
are beneficial areas of improvement.
The LaserJet + performed the worst of
all printers tested on the solid-black
test (see figure 1).
HEWLETT-PACKARD
SERIES II
B ased on the new Canon SX eight-
page-per-minute laser engine, the
Series II is an improvement over the
LaserJets- because it is designed as a
laser printer rather than as a modified
copier. It is about 30-percent lighter
and is shorter than die LaserJet+.
The main paper output is a cor¬
rect-order paper stacker. The straight-
through paper path is activated simply
by opening the door at the back of the
printer; and the manual paper feed slot
is activated merely by inserting paper
into it. The manual feed option is still
available as a menu option and, if se¬
lected, inhibits the printer from accept¬
ing paper from the automatic tray.
The Series II toner cartridge also
differs from the one used by the older
Canon CX engine. The toner has a
finer grain, allowing a higher-resolution
image and blacker blacks. The cartridge
is reshaped to allow a 33-percent in¬
crease in toner capacity; and the car¬
tridge drum diameter is reduced by 44
percent, from 2.5 to about 1.1 inches.
Thus, the expected life of the OPC and
the toner is approximately the same,
whereas in the LaserJet-H, toner tended
to run out before the OPC died.
This printer also departs from the
typical clamshell design—the whole
printer does not open in the middle.
Only the center part of the top lifts for
access to the toner cartridge and for
purposes of clearing paper jams.
The control panel includes a 16-
character, alphanumeric LCD display.
The first two characters show the same
two-digit status value as on the previ¬
ous LaserJet models, followed by a text
description of the status. A menu has
been added for selecting such items as
number of copies and the current font.
The front panel also has a reset button;
another button to print a sample of all
built-in, cartridge, and downloaded (as
permanent), fonts; and the same four
status lights as on the previous models
are present to indicate on line, ready
(which flashes when the printer is re¬
ceiving data), manual (paper feed),
and that data are in the laser printer
waiting to be printed.
The Series II incorporates very few
changes to the PCL. The only significant
change is that fonts larger than 30
points can be defined for downloading.
In testing, the complexity metric
failed in the same way and at the same
place as the LaserJet-!-. Except for the
full-page graphics metric, which it com¬
pleted, all of the test results were iden¬
tical to those for the LaserJet-!-.
This printer comes with 512KB of
memory, but 1MB, 2MB, or 4MB expan¬
sion memory modules are available.
With any of the expansion-memory
modules, the Series II can produce a
full-page, high-resolution graphic.
The Series II proved to be the fas¬
test printer in many of the metrics. It
was very fast on the macro, complexity,
and font tests, and much faster than all
the others in the full-page graphics test.
SEPTEMBER 1987
103
LASER PERFORMANCE
FIGURE 2: Full-Page Graphics
In a write/white system, such as
Genicom (left), the toner is attracted
to blank areas of the paper. Output is
lighter than write/black output, such
as Hewlett-Packard’s (right).
The push-pop metric draws boxes by pushing the cursor between boxes and then
popping each location by printing a number inside each box. HP (top) shows the
correct number position in the center of the box. Genicom (middle) and Mannes-
mann Tally (bottom) failed to print the graphics boxes correctly. However, they
did print the numbers, demonstrating that tihey can push and pop locations.
Although its complexity limit can
be avoided by reprogramming the ap¬
plication on the PC, this is not always
available to the user and is a nuisance.
Much more preferable would be for
HP to increase the number of down¬
loadable fonts on a page from 16 to 32,
as most of the compatible vendors have
done, especially when the printer has
4.5MB of available memory. According
to the manual, the printer can hold 32
fonts in memory.
GENICOM
5010
T he 10-page-per-minute 5010 printer
by Genicom Corporation is built on
the Hitachi engine. When purchasing a
Genicom 5010, the buyer selects a per¬
sonality module that includes the
printer interface. Both parallel and se¬
rial ports were provided with the re¬
view module; the active port was se¬
lected using a switch mounted on the
personality module inside the machine.
The Genicom 5010 is the largest in
size of any printer tested (15.2 inches
high by 17.7 inches wide by 19.5
inches deep). The 200-sheet input-
paper tray fits totally inside the unit
from the front and handles either
letter- or legal-size paper, which elimi¬
nates the need for two trays. Because it
has no straight-through paper path, use
of labels and heavy stock is not recom¬
mended. The manual feeder on this
printer must be selected from the front
panel; the reset command cancels any
request for the manual feeder tray.
The control panel has a 32-charac¬
ter LCD display divided into two rows
of 16 characters. During normal opera¬
tion, seven different pieces of status
information are continuously displayed.
Individual buttons are used for all
switchable options. The Genicom 5010
has no reset button; this lack, plus a
long warm-up time, make clearing the
buffer or recovering from an error
rather painful for the user.
The printer has a row of very simi¬
lar indicator lights, making it difficult to
determine which lights are on. Among
these indicators is an active light that
shows data are in the buffer. No signal
indicates when data are being trans¬
ferred to the printer.
The resolution metric illustrates
the write-white system (see figure 1).
The single-dot line connecting the
humps in the letter m is extremely
faint if it exists at all. Although the
square with the center dot missing is
better defined on this printer than on
any of the others tested, the individual
dot pattern is very light. This is demon¬
strated by the full-page graphics metric
output (see figure 2).
The Genicom 5010 failed the
push-pop metric (see figure 3). It ap¬
peared to perform the pushes and
pops, because the numbers were
printed in the correct location; but it
failed to combine the other commands
correctly with the push-pop. In the
complexity metric, the Genicom printer
exceeded the HP limit and passed the
metric completely when this test was
run on a printer with the optional
memory-expansion installed. (See fig¬
ure 4 in the preceding article.)
It also failed the page-size metric.
Although the positioning of the printed
characters was correct, both the top
and bottom margins of the page were
inaccurate; the top edge of the page
lost the last number while the bottom
edge lost the last four numbers.
In addition, the Genicom 5010
failed the recursive-macro test. It com¬
pleted the first few sections of the
macro test correctly by defining and
drawing the graphic macros and re¬
turning through two levels of nesting.
The recursive-macro test, however,
caused the printer to output two incor¬
rect characters, eject a page, and then
print the other sections of the test.
The printer also did not execute
the fonts metric properly; it printed the
total output in the last font down¬
loaded. Again, this does not imply that
the Genicom 5010 cannot handle
downloadable fonts (it did execute the
download metric properly), or that it
cannot handle multiple fonts (it han¬
dled several Ventura Publisher fonts on
a page). It does indicate, however, that
some aspect of the font-control pro-
104
PC TECH JOURNAL
Turn all your PCs into 3270s with one simple mainframe
software installation. RELAY/3270 isn’t magic, it just works
like magic. No costly emulation boards for your PCs, no
additional hardware on your mainframe, no cables required
to make the connection.
Your PCs can be 3270s anywhere there’s a phone, at
your headquarters, at home, in the smallest regional office.
Anywhere! No need to spend a fortune rewriting 3270
applications for remote users. And no need to sacrifice the
fast response time that you demand. But that’s only the
beginning.
You can transfer absolutely any type of file 100% error
free, between your PCs and your VM or MVS mainframes.
Text files, binary files, spreadsheet files with formulas, even
COM files. Universal file transfer. No errors. Guaranteed,
no matter how you are connected to the mainframe;
asynchronously, 3270 boards or protocol converters.
RELAY/3270 replaces expensive hardware for each PC. It
has a one-time low cost. But it isn’t magic. It’s just the smart¬
est way to let all your PCs emulate 3270s and transfer files.
Additional Features
Turn all your PCs
into 3270s with
RELAY/3270*
o hardware. No cables.
Universal file transfer.
■ Applications interface for ■ Background data trans¬
programmers mission
■ Advanced script language ■ TTY, VT100, VT52 terminal
■ PC resident mode operation emulation
For 30-Day Free Trial Call
1-800-84-RELAY.
(CT 203-798-6755)
The RELAY Family
®ili-
VM Personal Computing
41 Kenosia Ave. Danbury CT 06810
CIRCLE NO. 169 ON READER SERVICE CARD
LASER PERFORMANCE
FIGURE 4: Complexity Results
.. ''li
..
'\
^.'.I.'''..
...
liiiliji,,,,....
ASVV\VSKi\S,VS''\''
S.. 'I.. ''I.. V. S.. ' ''i., V
V i,)i ^ M \ s 'I
H
MSSNi! -MSSS
lllliii..
Ill.
The Kyocera F-2010’s processor could not cope with a very complicated page, but failed in a different fashion (left) from the
HP printers, which printed only the top portion of the design. The Mannesmann Tally 910 failed the test even earlier (right).
gram cannot handle the metric soft¬
ware that performs correctly on both of
the HP laser printers.
K yocera uses a laser-print engine
rated at 10 pages per minute in its
F-2010. Our tests showed that when it
prints a document in HP-emulation
mode, however, the print speed drops
to 6.5 pages per minute. The unit
tested had 1.5MB of memory.
The F-2010 control panel has the
most buttons of any printer tested.
However, it has no specific indication
that data are being received except that
the LCD menu delivers the somewhat
generic message, “Thinking”; because
this message also is used for other con¬
ditions—such as off-line or data are in
tlie buffer—the meaning is ambiguous.
Although the menu has a 32-char-
acter display of two 16-character lines,
messages are rarely greater than one
word. A picture of the printer on tlie
control panel displays the current
choices of input and output ports.
When data are in the printer’s memory,
the input or output port cannot be
changed, negating the advantage of the
two input trays; when one tray runs out
of paper, it must be refilled to finish
the print job rather than simply switch¬
ing to the other tray or inserting a
page into the manual feed slot.
The F-2010 severely curls the
paper, making multipass printing very
tedious. When the temperature of the
ftiser roller was reduced from the fac¬
tory setting, the paper still was very
warm and continued to curl. Switching
to the straight-tlirough exit port slightly
reduced the curling.
The toner supply lasts for about
3,000 pages of double-spaced text. In
this printer, as on many of the other
printers with separate OPC and toner-
cartridge units, a bottle collects waste
toner that b}^asses the OPC mecha¬
nism. Other printers produce vei*)^ little
waste toner, but in the F-2010 the bot¬
tle was nearly filled. If this collection
bottle is not replaced, toner could spill
into the machine.
The operation of the F-2010 is also
distracting. Fan noise is substantial, and
when the heater on the fuser pulses on
every few seconds, all of the lights in
die room that are on the same circuit
flicker noticeably.
The printer performed very well
on the metrics, passing all except for
the complexity metric (see figure 4).
The processor could not keep up with
die pattern and began shedding some
of the load, producing an unusual pat-
^106
PC TECH JOURNAL
Any Software. Any Mo nitor. Any Time.
r 800x560 1
I 640x480 I
Any Software On An RGB Monitor
Any Software On A Monochrome Monitor
Any Software On A
Multi^c Monitor
Trademark: ATI, EGA WONDER-ATI Technologies Inc., IBM-International Business Machines Ina. Compaq-Compaq Computer Corp., MultiSync-NEC Home Electronics Inc.,
Windows-Microsoft Inc., GEM-Digital Research Inc.. 1-2-3, Symphony-Lotus Development
Corp.. Ventura Publisher-Xerox Corp.. PageMaker-Aldus Corp., SmarTerm- Person Inc.. VTerm-Coefficient Systems Corp., AutoCAD-Autodesk Inc., Hercules- Hercules Computer Technology.
(1) Any Software. Any Monitor. Any Time applies to IBM digital monitors, graphics, standards.
(2) 132 columns not available on 25 kHz monitor.
(3) EGA. MDA, Hercules software displayed via Interlacing on RGB and Composite monitors. Flickering effect of Interlacing reduced with anti-glare screen Filter. All other modes are non-interlaced.
(4) Via optional Compaq Expansion Module - Suggested list price - $99.
(5) Runs VGA Modes 11 & 12 on Multisync Monitors.
Ifow; EGA WONDER displays VGA
on multisync monitors.
Without switching or having to take the system
apart, without having to use specific monitors
for specific programs, the EGA WONDER, with
SoftSense Automatic Mode Switching, upgrades
the EGA standard and maintains downward
compatibility to older standards on any monitor.
EGA WONDER now runs the new IBM VGA^
graphics standard plus 800x560, 752x410
and 640x480 high resolution text and graphics on
Multisync type monitors and 752x410 resolution on
25kHz 400 line monitors providing a WYSIWYG
display for popular desktop publishing software such as
PageMaker and Ventura Publisher. With high resolu¬
tion drivers to enhance Windows, AutoCAD, GEM, 1-2-3
and Symphony, EGA WONDER displays desktop
publishing, computer aided design, spreadsheets and
icon operating environments wifii up to twice the
normi resolution of EGA on MultiSync monitors.
EGA WONDER’S expanded 132 column capability
allows Lotus users to display a year-at-a-glance of
information on 1-2-3 and Symphony spreadsheets.
Connectivity support to mini and mainframe
computers is provided because EGA WONDER
runs SmarTerm and VTerm in 132 columns. Word
processing in 132 columns is fully supported on
WordStar and WordPerfect.
EGA WONDER supports 800x560, 752x410 and
640x480 modes on MultiSync monitors, 752x410 on
25kHz400 line monitors and EGA, CGA, MDA, Hercules
and 132 column modes on MultiSync, EGA, 400 line
25kHz2, RGB3, TTL Monochrome, Composite^, Com¬
paq Portable^ and IBM PC Portable monitors.
EGA WONDER represents a new beginning for
users of IBM PC/XT/AT, IBM Series 2 Model 30, or
compatible computers and is now available from
all major computer stores. Call us today at
( 416 ) 756-0711 for more information.
ATI Technologies Inc.
3761 Victoria Park Ave.,
Scarborough. Ontario. Canada MIW 3S2
Tel: (416) 756-0711 Fax: (416) 756-0720
Tlx: 06-966640 (ATI TOR)
Technology you can Trust.
CIRCLE NO. 206 ON READER SERVICE CARD
LASER PERFORMANCE
tern of gaps in the output. The printer
did not stop as commanded and the
pattern continued onto the beginning
of the next page. The complexity limit
of the Kyocera printer was below the
LaserJet + for this metric.
In the fonts metric, the Kyocera
F-2010 allowed more than the HP limit
of fonts on a page. It printed all 19
fonts programmed into this metric.
This is the only printer that broke
down during the testing program. Al-
tliough the repair person claimed that
the failure rate on this model is less
than for other printers, it broke down
again a couple of thousand pages later.
The problem appeared to be a loose
cable, which could have happened to
any of the other printers.
mannesmaMTOm
910
T he Kyocera engine also powers the
10-page-per-minute Mannesmann
Tally 910. This printer can be ordered
with either a serial or parallel port.
The printer tested had a parallel port
and 512KB of memory. The optional
1MB of memory expansion required to
print full-page graphics was not tested.
The control panel consists of three
buttons, a 16-character display to report
printer-status and error conditions, and
four lights, including a most beneficial
on-line light that flashes when data are
being received by the printer. The but¬
tons on the panel are confusing be¬
cause their functions change whenever
the user selects another menu item.
A labyrinthine menu system con¬
trols printer functions. Errors are de¬
scribed either by a clearly worded
message—or by a printer crash, pro¬
ducing an indecipherable error mes¬
sage or no message at all. Because the
printer has no reset button, a crash
requires a power off and on.
The 910 has a manual feed slot
and two 250-sheet paper trays, which
can be set to switch from one to the
other when the currently used tray
runs out of paper. Like the Kyocera,
nGUR£5: Font Results
This is amrlO scaled by half.
This is ambxlO scaled by half.
This is amttlO scaled by hall.
This is amsIlO scaled by half.
This is amrlO scaled by 1.
This is ambxlO scaled by 1.
This is amttlO scaled by 1.
This is ajnsllO scaled by 1.
This is ambxlO scaled by 2.
This is amttlO scaled by 2.
This is amsllO scaled by 2.
This is amrlO scaled by 3.
This is ambxlO scaled by 3.
This is ainttlO scaled by 3.
This is amsllO scaled by 3.
This is amrlO scaled by 4.
This is ambxlO scaled by 4.
This is amttlO scaled by 4.
This is amsllO scaled by 4.
This is amrlO scaled by half.
This is ambxlO scaled by half.
This is amttlO scaled by hall.
This is amsllO scaled by half.
The Mannesmann Tally 910 could
print all 19 fonts in the fonts metric,
exceeding the HP downloadable font
limit of 16 changes per page.
the Mannesmann Tally curls tlie paper,
causing problems with multipass feed¬
ing and the output stacker. Like the
Kyocera, the fan is noisy and the fuser
heater pulses on every few seconds,
causing room lights to flicker.
The toner cartridge lasts for about
3,000 pages of double-spaced text. The
toner is slightly heavier than in the HP
Series II, producing slightly darker
characters and less detail.
The 910 correctly performed the
fonts metric, surpassing the HP limit of
16 and printing all 19 fonts (see figure
5). It also correctly performed the
download-font test. The resolution met¬
ric print-out produced a very dark set
of patterns, with about half the detail of
the LaserJets’ output (see figure 1).
Fine details disappeared, but black
areas were solid.
The printer failed die push-pop
metric (see figure 3). It printed only 1
of die 22 boxes, and that box was in
the wrong place. However, the num¬
bers 1 through 21 appeared in the ap¬
propriate places, demonstrating that the
printer can push and pop.
The complexity metric failed, as
well (see figure 4). The 910 accepted
the commands until its processing ca¬
pability was exceeded, which was at
less than half the number of vertical
lines printed by the LaserJet+. Then it
purged the command buffer and con¬
tinued with the next commands. The
page-size metric failed on the top and
bottom of the page; it printed an extra
character at the top and two extra char¬
acters at the bottom.
All macro tests ran but one; the
recursive-macro test failed because die
two levels of macro recursion available
in the HPs were missing. The 910 also
printed the full-scale graphic on three
pages, which corresponds to its 512KB
of installed memory.
C ompact, lightweight, and quiet, the
LaserLine 6 is a light-duty printer
suited for a small workstation. An input
tray on the unit’s right side enables it
to fit in an area with limited depth.
A six-page-per-minute Ricoh en¬
gine powers the LaserLine 6. The
printer supports a user-installed serial
or parallel port. The base printer has a
minuscule 128KB memory and can be
expanded only to a limit of 512KB. We
used a LaserLine 6 with a parallel port
and 512KB memory.
The LaserLine 6 cannot be used
for desktop publishing without the op¬
tional memory expansion. Even then,
the printer randomly halts, indicating a
data-overflow error, when printing
medium-sized documents (approxi¬
mately 30 pages). When this happens,
pressing the reset button causes the
printer to lose one page—printing in¬
stead a page of garbage—before con¬
tinuing with the rest of the document.
The reset button is time depend¬
ent; if held down for less than two sec¬
onds, it clears the status indicator; if
held down for two seconds or longer,
it clears all printer memory. In addition
to the reset button, the LaserLine’s con¬
trol panel has a single-character,
seven-segment status display. Some sta¬
tus codes require two characters and
are identified by sequenced flashing of
108
PC TECH JOURNAL
The Key TiDnic® KB 3270/PC I^boaid...
The Final Step m¥)ur
McioTo-Mainframe Connecticai.
Now that you've made a major investment by
allowing your micro computers to access your
mainframe, take the final step by adding a
Key Tronic KB 3270/PC Keyboard.
Plug compatible
with the IBM* PC,
XT and AT, the KB
3270/PC was
developed to work
in conjunction with
micro-to-mainframe
emulation packages
from vendors such
as DCA (IRMA^"), CXI, FORTE' and ATTACHMATE.
By providing 122 keys including 24 function
keys, the keyboard allows for easy and efficient
operation resulting in more operator productivity.
It's another input solution from Key Tronic, the
world's largest independent manufacturer of full
travel keyboards, and a supplier of a full line of
integrated input devices.
For more information about the KB 3270/PC,
see your Key Tronic dealer ... or call us toll-free at
1-800-262-6006. (7:00 a.m. to
3:00 p.m. Pacific Time)
*1BM, XT and AT are registered
trademarks of IBM Corporation.
*IRMA is a registered
trademark of Digital
Communications
Associates, Inc.
key tronic
The Responsive Input Company
P. O. Box 14687 • Spokane, WA 99214 • USA* (509)928-8000 -TWX 510 773-1885
CIRCLE NO. 239 ON READER SERVICE CARD
LASER PERFORMANCE
the character display, making it diffi¬
cult, for example, to detect whether an
error code is 2 or 22. The front panel
also has a light indicating that data are
in the printer, but no indication when
data are being received.
The LaserLine 6 has a 150-sheet
open-paper tray in addition to a
manual-feed slot; it automatically uses
paper inserted into tlie manual feed
slot first. Clearing a paper jam is not as
easy as in other printers; the user must
not only open the printer, but also
raise the hinged toner mechanism in
order to access the paper path.
The toner supply is ver^^ small,
providing fewer than 1,000 pages; the
refill indicator lighted after 400 pages
in the test. The toner-refill kit includes
a plastic handle and ratchet mechanism
to open the toner cartridge.
This printer correctly performed
all of the metrics, except for the full-
page graphic, in which the printer
stopped on a data overflow and re¬
quired operator intervention to con¬
tinue printing. With tlie basic 128KB of
memory, eight pages were required to
print the entire graphic, which filled
the buffer after completing only 1.25
inches of a full page. With memory
expansion to the total 512KB, the
printer completed the graphic on only
two pages. The LaserJetT, with 512KB
memory, required tliree pages to com¬
plete the graphic, indicating that more
of the LaserLine’s memory is directly
available to the user. The fonts metric
also exceeded the Laserjet+ limit of 16
fonts per page, with die LaserLine 6
completing all 19 fonts.
L ike the Laserjet+, this printer is
based on the eight-page-per-minute
Canon CX engine. This early Canon
engine is rather large for its speed and
lacks a correct-order output tray.
The differences between the QMS
SmartWriter 80+ and the LaserJet + are
mainly in the interface electronics and
the command language. The Smart-
Writer 80+ has other emulations be¬
sides the HP LaserJet + and many inter¬
nal fonts. The printer-control logic is
based on a 68000 computer with 2.5MB
of memory, but not all of it is available
in HP emulation. The warm-up time
includes the time to produce two status
sheets, which are printed each time the
printer is turned on; because the
printer does not have a reset button,
this could be fairly often.
The control panel uses a two-
character, seven-segment display. When
data are being sent to the printer, the
code “PA” is displayed. However, the
printer makes no indication that it has
received data or has data in its print
buffer. Unlike tlie HP printers, data in
the buffer print automatically after 30
seconds of idle time.
The control panel also includes a
font-print button for printing a com¬
plete sample of all internal, cartridge,
and downloadable fonts; each font sam¬
ple is printed on a separate page. This
font-print button, similar to the adja¬
cent form-feed button, can easily be
activated by mistake, causing 20 or 30
sheets to be printed. To recover, the
printer must finish producing the font
samples, consuming two or three min¬
utes; or it must be turned off and re¬
started, which takes only one minute
but loses any downloaded fonts.
The operator may select the man¬
ual feed option from the control panel.
If paper is inserted into the manual
feed slot without help from the control
panel, the printer not only automati¬
cally uses that paper, but also feeds a
sheet from the paper tray—and the
output is not always straight. For a
straight-through paper path, the opera¬
tor also must select the manual feed on
the control panel. The SmartWriter 80+
curls the paper very little.
The resolution metric produced
clean, consistent results. However, the
push-pop metric failed; the printer cor¬
rectly produced tlie boxes and the
numbers inside the boxes, but the
whole pattern shifted left, so the num¬
ber 21 crept off the edge of the paper.
The SmartWriter 80+ also failed
the rules and patterns metric; it drew
the patterns and the shades of gray cor¬
rectly but did not accurately position
the first three blocks in the shades-of-
gray test. Some of the positioning-
command text printed, indicating that
the printer misinterpreted the position¬
ing commands for this section of the
test. The printer was able to recover
and complete the rest of the test.
The complexity metric ran cor¬
rectly to completion, which is not sur¬
prising given the power of the 68000
printer controller. In the recursive-
macro test, the macro was unable to
call itself to two levels, although the
printer was able to perform tlie other
examples of two-level nesting.
The SmartWriter 80+ failed the
fonts metric, printing 23 lines (the cor¬
rect number) in die default font rather
than in the fonts downloaded by the
metric. It did produce the full-page
graphic, demonstrating that at least
1MB of graphics menior>^ is available to
the user, but the output filled one page
and incorrectly extended 0.22 inch
onto the following page.
The page-size metric showed that
die QMS printer’s margin settings differ
from HP’s margins on all four sides.
Although the SmartWriter 80+ has the
ability to adjust margins, they did not
change when using HP emulation. In
addition, the characters that straddled
the edges were clipped in midcharac-
ter. HP printers do not extend beyond
the edges of the printable area.
In several of these failed tests, the
printer had problems matching the
page layout of the HP printers. The fail¬
ure of such basic compatibility metrics
shows a lack of attention to detail.
QUADRAM
QUADLASER I
T he eight-page-per-minute QuadLaser
I conies with 2MB of memoiy and
either a serial or parallel port. It has
no straight-through paper path; paper
output is always in the correct-order
output tray on top of the printer. It
also is the only laser printer in the
group tested here that has no option
for using legal-size paper.
The QuadLaser I handles paper
very gently, with almost no curl on the
page. It also performs multipass print¬
ing consistently, without any paper
jams or wrinkling. During testing, it
accepted severely wrinkled paper with¬
out jamming, although the print-out
was somewhat distorted by the wrin¬
kling. None of the other tested printers
handled paper as well.
110
PC TECH JOURNAL
Lattice
( >1 •< X >I > SniJKigatiwnd
Lattice
Lattice
dBCniPIus
UtiliU
^ Lattice
-RPGttC
C Compiler
Lattice”
SecnrtDisk
Lattice ';^ ,
Screen Editor
Our software comes with something
no one else can offer.
When you join the Lattice family
of customers, you’ll discover that
your software purchase is backed
by more than just an excellent
warranty It’s backed by unparal¬
leled technical support. By a total
commitment to your success and sat¬
isfaction. And by Lattice’s dedication
to excellence in products and services.
Unlike other software manufacturers
who charge you for services after you’ve
purchased their product, Lattice offers
a unique package of support programs
at a price we can all live with—FREE.
Lattice Bulletin Board Service
LBBS is our 24-hour a day bulletin
board system that allows you to obtain
notification of new releases, general
inforrhation on Lattice products, and
programs for the serious user. And if
you’ve ever experienced the frustration
of having to wait a year or more for
a new release (that has corrected a
bug), you’ll really appreciate LBBS.
Because with this service, you can
actually download the latest program
fixes to instantly eliminate any bugs
discovered after release.
Available through dealers and
distributors worldwide.
Lattice Service.
Technical Support Hotline
Responsible, dependable and capable
Support Representatives are only a
phone call away. You will talk to a highly
skilled expert who is trained to answer
any questions you have relating to
specific Lattice products. Remember,
your complete satisfaction is our goal.
McGraw-Hill BIX7” Network
The Byte Information Exchange (BIX)
Network is a dial-in conference system
that connects you with a Special Interest
Group of Lattice users. The nominal
one-time registration fee allows you
to BIX-mail your questions—^via your
modem—directly to Lattice. Or you
can post your questions in the con¬
ference mode for Lattice or other users
to answer. Once again, you have
24-hour access.
You Also Receive:
■ Timely updates and exciting
enhancements ■ 30-day, money-
back guarantee ■ Lattice Works
Newsletter ■ Technical Bulletins
■ Access to Lattice User Groups
Lattice has developed more than 50
different Microcomputer software tools
that are used by programmers world¬
wide. We were there for every MS-DOS
release. We’re there now for OS/2. And
we’ll be there for the next generation
of technical changes. But most of all.
Lattice is there for you.
Lattice, Incorporated
2500 S. Highland Avenue
Lombard, IL 60l48
Phone: 800/533-3577
In Illinois: 312/916-1600
Subsidiary of SAS Institute Inc.
CIRCLE NO. 160 ON READER SERVICE CARD
Lattice
LASER PERFORMANCE
The control panel has only one
switch on the front, which is used to
go on-line and off-line as well as to
issue a form feed. The latter is
achieved by pressing it twice in quick
succession. The status display consists
of one digit plus several symbols.
The QuadLaser’s lack of a reset
button is a real shortcoming because
turning off the power to reset means
reloading the HP emulation and all of
the downloaded fonts, which can take
several minutes. The printer also has
no font-cartridge slots; all fonts must be
downloaded, except for the built-in 10-
pitch Courier font, which is inaccessi¬
ble from the HP emulation.
Although future versions will have
hardware fonts, QuadLaser’s HP emula¬
tor software currently resides on the
PC and is downloaded each time the
printer is turned on. Due to a large
input buffer, accidentally printing a bi-
nan’ file can eject hundreds of pages
unless the printer is reset.
The printer is designed to be con¬
trolled from the PC and provides sev¬
eral utility programs and more than
140 downloadable fonts in two primar}^
type-style families: Times Roman and
Helvetica. Each st\4e is provided in 10
sizes (6 through 36 points) and three
weights: normal, bold, and italic.
The Ricoh engine of the Quad-
Laser I does not use the typical clam¬
shell design for accessibility; instead,
the OPC and toner are loaded from the
front through an insecurely suspended
drawer. While operating, the printer
sounds like a loose conveyer belt.
This printer executed both the
push-pop and the fonts metrics. How¬
ever, the complexity metric failed—the
QuadLaser I printed nothing at all.
The page-size metric produced
correct output on the top and sides but
the bottom limit was set too large, with
three extra digits printed at the bottom
of the page. The rules and patterns
metric failed because the QuadLaser I
did not print the single-dot-width ver¬
tical-rule test or the single-dot rule test.
The blacks printed ver)^ dark, even, and
solid. In the macro metric, the Quad-
Laser I allowed more than two levels of
macro nesting, did not permit the two
levels of macro recursion allowed by
HP, and completely failed to execute
the macro-redefinition test.
The full-page graphic metric
printed only a blank sheet; and the
full-page Mandelbrot printed veiy
lightly. These results show that al¬
though the printer is capable of print¬
ing full-page graphics, it has trouble
with an oversize picture.
R icoh Systems uses its own second-
generation, six-page-per-minute
printer engine in its PC Laser 6000.
Both serial and parallel ports are stan¬
dard with the printer. This small, light¬
weight, and inexpensive printer is suit¬
able for a PC workstation. It is not de¬
signed for long print runs or shared
use, and it runs at a slightly slower
print speed than the HP printers.
The printer we used for testing
purposes had the standard 512KB of
memor)^; the memoiy expansion up to
2MB was not tested. The printer was
evaluated 'with its optional Laserjet+
emulation card. It stopped functioning
after about 1.5 hours of continuous
use, and then began working again
normally after a rest period, except for
a developed squeak.
The control panel has a two-digit
display that makes changing modes and
selecting front-panel options rather
ctyptic. The user must consult the man¬
ual to decipher options and settings
that are identified only by numerical
codes on the menu. Setting the printer
to default to the HP-emulation mode
requires a key sequence that is not
described in the manual, but was sup¬
plied by Ricoh’s technical support
group. The control panel includes a
reset button and a data-eotry^ light, both
of which are major conveniences.
The PC Laser 6000 has a 150-sheet,
uncovered input-paper tray that can be
refilled without being removed. The
tray can handle letter- or legal-size
paper, either of which is selected by a
knob on the front panel of the printer.
A sheet of paper inserted into the man¬
ual feed slot takes precedence over the
automatic feed tray.
The toner is rated for 1,500 sheets
(750 sheets the first time). On the
tested model, the original toner supply
ran low after 400 sheets, turning on the
replenish-toner light.
The PC Laser 6000 failed the
macro, page-size, and the full-page
graphic tests. For the full-page metric,
the printer accepted all of the data but,
due to lack of memon^ printed only a
half-page of the data and discarded the
rest. This is much less desirable than
printing the information on several
pages. The other printers with memor>^
limitations that we tested completed
printing the data on several pages.
The output for the resolution met¬
ric is shown in figure 1. Fine lines are
clear and crisp, but in the uniform,
high-resolution patterns, a good deal of
printer-induced variation is evident.
PRINTER VARIATIONS
Because of the large variety of laser
printers available, selecting the best
one is a compromise based on the
user’s particular requirements. This
evaluation was made for a technical
application, with a bias toward desktop
publishing. It was limited to a sampling
of printers that provide HP emula¬
tion—of paramount importance to so¬
phisticated users.
Durability varies among the print¬
ers tested. The HP printers appear du¬
rable enough to support medium-duty
iise among a limited group of users.
The Okidata LaserLine 6 and the Ricoh
PC 6000, botli based on the six-page-
per-minute Ricoh engine, have mark¬
edly lighter construction and smaller
toner capacity, limiting their use to
light duty only. The Genicom 5010 is at
die other extreme; it supports heavy-
duty use among many individuals.
As for mechanical capability, all
the printers tested, except the Quad-
ram QuadLaser I, have a manual feed
slot and can handle legal-size paper.
The HP Series II, Ricoh PC Laser 6000,
and Okidata LaserLine 6 all default to
the manual feed slot when paper is in¬
setted. Without this capability, the op¬
erator must select the manual feed op¬
tion from the control panel.
The reset button and data-entry
indicator are important controls not
available on all the laser printers. The
Genicom, Kyocera, Mannesmann Tally,
QMS, and Quadram printers do not
have a reset button—a substantial fail¬
ing because situations that require re¬
setting the printer happen frequently in
a development environment. This omis¬
sion is especially problematic with the
Quadram QuadLaser I printer because
the HP emulation is software that must
be reloaded from DOS whenever the
printer is turned on.
Although every printer tested has a
light to indicate that the printer buffer
contains data waiting to be printed,
many of the printers also have a light
that flashes when data are being ac¬
cepted by the printer. This is an impor-
112
PC TECH JOURNAL
GElVf: 3 YEARS AND GOING STRCNG
W e first released our Graphics Environment Manager^"’ (GEM) software three years
ago and it’s time to let you know what we have achieved. I also want to thank the
software developers who have selected from Digital Research® a solution for their
graphics programming needs. I extend a personal invitation to all software developers
to join the group of over 200 software vendors shipping GEM software compatible
products. GEM provides an easy approach to the integration of graphics within
applications while maintaining the speed and performance that today’s customers
demand.
Dick Williams
President
Digital Research Inc.
' \
Co
GEM: POWER, PERFORMANCE AND PROGRAMMER FRIENDLY
GEM: Setting The Standard
For Desktop Publishing
W hat do the top Desktop
Publishing applications have in
common? GEM! GEM provides a
software developer with the ability to
concentrate on the features and
functionality of his application while
leaving support of graphics hardware
to a mature full-featured virtual
device interface, the GEM VDI. And
there’s more! The GEM Application
Environment Services (AES)
provides the ability to integrate
windows and drop down menus into
your user interface with a minimum
of effort. That’s why the FIRST, the
LATEST, and the BEST desktop
publishing applications sold for
IBM® PC’s are all GEM-based
products. Including:
DAWN^"" from Compugraphic®
DESIGNER™ from Archetype
GEM® DESKTOP PUBLISHER™
from Digital Research Inc.
PAGEmaster™ from Advanced
Vision Research, Inc.
THE OFFICE PUBLISHER®
from Laser Friendly, Inc
VENTURA PUBLISHER™
EDITION from Xerox®
GEM: Extensive Driver Support
S oftware analysts see the emerging
graphics application market as
continuing its upwardly spiraling
growth. Support of the latest devices is
key to any application seeking to make
an impact in this highly competitive
area. The key to your success is DRI’s
commitment to the support of the latest
technology. GEM supports over 150
devices including hi-res displays.
laserwriters, postscript, dedicated
graphics processors, scanners and
metafiles. That’s one of the reasons
McDonnell Douglas chose GEM as
the graphics environment for its
CAD package CROSSROADS™ and
Personal CAD Systems® chose
GEM for PC-CAPS®. More than 15
CAD/CAM applications have been
developed under GEM because
GEM PROVIDES HIGH
PERFORMANCE SOLU¬
TIONS TO PROFESSIONAL
PROGRAMMERS.
GEM Programmer’s Toolkit: Tools
That Work with Any Compiler
G em allows you to work with any
popular compiler you choose.
GEM applications have been written in
MODULA II, C, PASCAL,
FORTRAN, ADA, TURBO PASCAL
and TURBO C. The GEM® Program¬
mer’s Toolkit™ provides a source level
sample set of bindings, complete
documentation, a utility to help you
visually build your user interface and
more. If you need help, contact our
personalized software developer
support program.
Over 1.4 Million Installed GEM
Software Customers and Growing
Rapidly.
T here are over 200 GEM
applications shipping for the
IBM PC and compatibles, and more
than 700 applications available for
the ATARI® ST™ GEM PRO¬
VIDES SPEED AND PERFORM¬
ANCE ON 8088/8086S THROUGH
TO 80386s. The programs that you
develop today will run on your
customers’ IBM PC/XT’s, AT’s,
IBM Personal System/2™ micro¬
computers and compatibles. GEM
applications released over two years
ago for the IBM PC work today on
the Personal System/2 with no
modifications. Further, Digital
Research is committed to providing
support of a consistent Application
Programming Interface under future
environments. Your programmers
will not have to rewrite major
portions of their code as you reach
out to support newly emerging
standards.
GEM: The Programmer’s
Solution
J oin the ranks of successful software
developers who have already
released GEM applications. Contact
DIGITAL RESEARCH or your
distributor for additional information
on the GEM PROGRAMMER’S
TOOLKIT, available at a retail list
price of only $500.
Call 1-800-443-4200
33 DIGITAL RESEARCH*
GEM and Digital Research arc registered trademarks, and GEM Desktop. GEM Desktop Publisher and GEM Programmer's Toolkit arc trademarks of Digital Research Ine. IBM is a registered trademark
and Personal System/2 is a trademark of International Business Machines Corporation. All other product names and company names are registered trademarks or trademarks of their respective owners.
Copyright © 1987. Digital Rc.scarch Inc. All rights reserved.
CIRCLE NO. 220 ON READER SERVICE CARD
LASER PERFORMANCE
tant indication for large graphic data
files that take several minutes to trans¬
fer, as well as for applications, such as
desktop publishing, that take consider¬
able time to format before data are
sent to the printer.
Speed varies among printers, with
the HP Series II performing best over¬
all. The greatest variations in timing
were in the pages-per-minute and the
graphics tests. We found that the mea¬
sured speeds of the printers are close
to the manufacturers’ rated speeds, ex¬
cept for the Kyocera, which performed
below its rating (6.4 pages per minute
rather than the rated 10).
The HP LaserJet^ and Series II
have 512KB of memory, which is the
minimum required to run desk¬
top-publishing applications. The Series
II can be expanded to 4.5MB of mem¬
ory. The Okidata has 128KB memory
but can be expanded to 512KB. All the
others are available with between
512KB and 2.5MB of memory.
All of the printers will certainly
run any of the current crop of applica¬
tions software. However, more sophisti¬
cated laser-printer features reveal dra¬
matic differences. All the manufacturers
of the tested printers claim HP emula¬
tion, but the PC Tech Journal LaserJet
Software Metrics show that all have
some level of incompatibility.
Some of the laser printers outper¬
form the HP standard in the fonts and
complexity metrics. The number of
fonts allowed per page is an important
consideration because each change in
size (such as for foomotes or tides) or
weight (for bold or italic) constitutes a
new font. The HP’s limit is 16 fonts per
page. The Kyocera, Mannesmann Tally,
Okidata, Quadram, and Ricoh printers
correcdy printed all 19 fonts included
as part of the fonts metric—and proba¬
bly could have printed more. The
Genicom 5010 printed all of the lines
of text using the last font downloaded,
and the QMS SmarfWriter 80+ printed
only one font, which was not even one
of the downloaded fonts.
In measuring complexity, the
Genicom, Okidata, and QMS printers-
came through admirably, all completing
the vertical line design demanded by
the complexity metric. This metric de¬
liberately exceeds the HP limit of com¬
plexity to show the capabilities of com¬
patible printers. The HP printers failed
this test by not completing the design.
The Kyocera F-2010 not only printed
the design incorrecdy, but then did not
flush the buffer and printed trash on
the following page. The Mannesmann
Tally 910 completed less than half of
the design, and the Quadram Quad-
Laser I failed to print anything at all.
The Ricoh printer also failed to com¬
plete the pattern correctly.
All printers passed the resolution
metric, but substantial variations were
noted among the printers.
The macro metric spelled doom
for the Genicom, Mannesmann Tally,
Quadram, and Ricoh printers. Ricoh’s
PC Laser 6000 got caught in the recur¬
sive macro and continued printing
pages until it was turned off manually.
When a printer fails this kind of test, it
should be turned off and restarted to
ensure that the printer does not remain
in an unstable condition.
The push-pop metric was unsuc¬
cessful on the Genicom, Mannesmann
Tally, QMS, and Quadram printers. The
Genicom and the Mannesmann Tally
printers performed the push-pop in¬
structions correctly but failed the met¬
ric because of the interaction with
other commands in ±e tests.
The Genicom, Mannesmann Tally,
QMS, and Quadram, and Ricoh printers
could not handle the page-size metric.
A lack of attention to details, rather
than any fault of the printer engines,
appeared to cause these failures.
QMS and Quadram printers failed
the rules and patterns metric, which
was designed to reflect the most basic
compatibility characteristics. By failing
this test, and the page-size test, QMS
and Quadram show a lack of commit¬
ment to HP compatibility.
The full-page metric proved too
difficult for most. The QMS SmarfWriter
80+ printed a full page with irrelevant
print-out on the next page. The Quad¬
ram QuadLaser I did not print anything
at all. The Ricoh PC Laser 6000 printed
only half a page, discarding the rest.
The Okidata LaserLine 6, Mannesmann
Tally 910, and HP Laserjet+ took sev¬
eral pages to complete the print-out,
but were able to print all of the data.
The Genicom, HP Series II, and Kyo¬
cera printers had enough memory to
print the correa output
HP has the most experience pro¬
ducing desktop laser printers, which it
has used to improve its produa, pro¬
ducing a true second-generation laser
printer in the Series 11. HP carefully
evaluated form, fit, and function to pro¬
duce a superior product.
Successfully using the full capaci¬
ties of a laser printer requires a long
learning curve and much trial and
error. Only with practice and patience
can the operator reach the l^el of so¬
phistication needed to produce docu¬
ments of near typeset quality. liiimMimHEI
Hewlett-Packard
3000 Hanover Street
Palo Alto, CA 94304
8001752-0900
LaserJet-^: $37995
Series II: $2,595
CIRCLE 360 ON READER SERVICE CARD
Genicom
Genicom Drive
Waynesboro, VA 22980-1999
8001437-7468; 7031949-1170
5010: $3,695
CIRCLE 361 ON READER SERVICE CARD
Kyocera
3165 Adeline Street
Berkeley, CA 94073
800/334-6056; 415/848-6680
F-2010: $4,695
CIRCLE 362 ON READER SERVICE CARD
Mannesmann Tally
8301 S. 180 Street
Kent, WA 98032
800/843-1347; 206/251-5500
910: $3,695
CIRCLE 363 ON READER SERVICE CARD
Okidata
532 Fellowshp Road
Mount Laurel, Nf 08054
800 / 654 - 3282 ;
609/235-2600
LaserLine 6 (with HP compatibility
module): $1S>95
CIRCLE 364 ON READER SERVICE CARD
QMS
One Magnum Pass
Mobile, AL 36618
205/633-4300
SrriartWriter 50+; $4,595
CIRCLE 365 ON READER SERVICE CARD
Quadram
One Quad Way
Norcross, GA 30093-2919
404/564-5566
QuadLaser I: $3,795
CIRCLE 366 ON READER SERVICE CARD
Ricoh Systems
5 Dedrick Place
West Caldwell, NJ 07006
201/882-2000
PC Laser 6000: $2,395
CIRCLE 367 ON READER SERVICE CARD
Rainer McCown is president of Rhintek, Inc.,
a ^ems software company that specializes
in developing products and consulting in
the areas of communications, compilers, edi¬
tors, and graphics. Heeth Clark is an in¬
structor in computer literacy at The Johns
Hopkins University in Baltimore.
114
PC TECH JOURNAL
FREE TURBO PASCAL :
TO LOGITECH MODULA-2
TRANSLATOR :
□ LOOITECHModula-l . $QQ
V. 3.0 Compiler Pack
■ r Compiler in overlay and fully linked form.
' ■ ■ Linkable Library, Post Mortem Debugger,
Point Editor
□ LOGITECH Modula‘2 /TQ
V.LOToolkit ' ; .
Library sources, Linker, RunTime Debug¬
ger. MAKE, Decoder, Version, XRef,
Formatter ' '
□ LOGITECH Modula-2 . /f Q
V 3.0 Development System jLMty : .
; Compiler Pack plus Toolkit
□ HjrboPaseaho TTlJiri?
Modula-2 Translator JT JKJLjC./
\ With Compiler Pack or Development System
□ Window Package $ziQ
r . Build true windowing into your
. Modula-2 code,
□ Upgrade Package : .
Gall LOGITECH for information pi-
to receive an order form '
Add $6.50 for shipping and handling. California residents
add applicable sales tax,.Prices valid
in U. S. only. ,, Total,Enelp$ed S_
□ VISA □ MasterCaid □ Check Enclosed . ,
ANNOUNCING LOGITECH MODULA-2 VERSION 3.0
Card Number,
Expiration Date I
J Signature I
1 Name ■ I
■j Address I
I City '
^ate J
' f ■■■ ■. -1
K' - Zip . _
- Phone* 1
DataBase.
The tool for the
applications generation.
By now almost everyone knows what a
PC can do for them. The problem, though,
for most people, is getting the PC to do it.
Because powerful application develop¬
ment systems are often too difficult to
learn. And easy systems quickly become
too limiting once you’ve learned them.
That’s why most of the FORTUNE 500
companies are now using DataBase™
DataBase. No other system builds
powerful applications as easily
People start building applications imme¬
diately with DataBase. Even people with
no PC experience. Because DataBase lets
you concentrate on what you want to do
instead of how to get the PC to do it. Menus
and prompts help you set up your forms,
files and reports while DataBase does the
programming for you.
And experienced users build complex
applications quickly with DataBase. The
automatic programming features along
with a powerful relational query language
make it easy And the power of DataBase
increases as you demand more. Making
the transition to building complex applica¬
tions smooth. And easy
And changing a DataBase application
is as easy as changing your mind. So
your applications can grow to meet your
needs.
With DataBase you can create applica¬
tions that integrate text, graphics and data
from a variety of sources-including main¬
frames. In the comfort of your own PC.
DataBase. Now it’s easy for every mem¬
ber of the applications generation to
generate their own applications.
Send usthecouponforafree
DataBase demonstration disk. Orcall
1-800-334-EA5E. In Connecticut,
374-8000.
DataBase International, Inc.
12 Cambridge Drive, Trumbull, CT 06611
1-800-334-EA5E
□ Please send me more information about
□ DataEase □ LAN □ Connect
□ GrafTalk □ Developer
□ Please send a free DataEase demonstration disk.
□ Please have a DataEase representative call.
_ Titifi_
Name_
Company-
Address_
City-
-Phone.
-State.
-Zip-
I No. of PCs on site □ 1-10 DII-SO DSH-
IBM PC/XT/AT □ IBM COMPATIBLES DWANG DDEC DOTHER ^
Software Solutions, Inc. is now DataEase International, Inc.
DATAEASE$
’What it does is hanl
Ifow it does it is easy.
Canada (416) 231-1270 • United Kingdom 01-554-0582 • Italy 2-836-0097 • Benelux (31) 73-414855 (Holland) • Scandinavia (47) 71-46166 (Norway)
Switzerland 41-42-415656 • West Germany/Ausiria 89-461-3257 (Munich) * Australia (03) 699-7255 • Brazill 1-881-0600
CIRCLE NO. 135 ON READER SERVICE CARD
ID1987 DataBase International, Inc
500400 ^°
CDfs AutoKeyl3270 improves the use}''
interface and simplifies communications in
a PC-mairframe environment
PAUL FIRGENS
M any office PCs are no longer
strictly stand-alone machines.
Increasingly they are being tied
into corporate mainframe networks and
expected to operate like 3270 terminals
(with the help of emulator boards and
software). Digital Communications As¬
sociates, Inc. (DCA) was a pioneer in
this market with its IRMA board, which
provided the PC with a coaxial connec¬
tion to a netv^ork, terminal emulation,
and file-transfer capabilities.
But IRMA is not enough for many
users. Because a PC is much smarter
than the average terminal, it was inevi¬
table that users would want to take
advantage of the PC s flexibility in con¬
nection with the mainframe’s vast data
and networking capabilities. This can
be done, to a limited extent, but it re¬
quires some effort and involves com¬
promises. Most of the compromises
result from the fact that the mainframe
and its applications are designed to
communicate with a terminal, not an¬
other computer. Much of the effort re¬
sults from attempts to control the ter¬
minal emulator. Until recently, custom
routines had to be written to manipu¬
late screen buffers and I/O ports, but a
new software product from CDI Sys¬
tems, Inc., AutoKey/3270, eliminates
some of that work.
Sophisticated PC-mainframe appli¬
cations attempt to satisfy one or more
of four goals. First, they try to present
a friendly interface for the user. A
mainframe application usually requires
many keyboard entries just to log-on to
an application. For example, to use an
application running under IBM’s Cus¬
tomer Information Control System
(CICS), which is a terminal, file, and
program handling monitor, a user typi¬
cally must invoke the monitor itself
through the network, log-on to the
monitor, then start the application,
which may require another log-on.
Each step requires a password, which
often differs from the preceding pass¬
word. In addition, the screens fre¬
quently are cryptic. For example, CICS
log-on and log-off procedures present a
blank screen onto which the user must
■■■■■ -'-i..-' 3
REFINING ACCESS
The new
F286 PC-AT com¬
patible board-level
CPU from I-Bus gives you a whole new
dimension of speed and freedom in PC or
PC-AT bus system design.
It's all on a PC add-on-sized board
—for use with a passive backplane just
like other board-level systems. You just
add the expansion cards, put it in a box
(I-Bus has loads of backplanes and
boxes), and it’s ready to execute any
PC-AT applications software.
Use the F286 in a disk-based or disk¬
less system, with or without a keyboard,
with or without a display.
It’s packed with features such as 10
MHz zero wait state operation. Separ¬
ately clocked 80287 support (runs at full
speed—not half speed as in other AT’s).
512K RAM. Battery-backed clock/calen¬
dar. Optional PROMDISK to run any ap¬
plication from the F286’s user EPROM.
And best of all, it’s designed, built and
supported by I-Bus—the originators of
the passive backplane PC Bus.
If you’re into systems, we speak your
language. Call us TOLL FREE at:
800-382-4229 (in CA call
The Fall Service PC Bus Company
5780 Chesapeake Court
San Diego, CA 92123 TLX: 910 240 0290
CIRCLE NO. 210 ON READER SERVICE CARD
enter a transaction identifier—with no
prompt displayed.
Routines can be designed to hide
most of tliese steps, so that the user
need only start the application while
the PC and a mainframe program man¬
age the overhead. These routines can
perform the repetitious key entries,
bringing the user directly to the initial
application screen. A PC-mainframe
application can hide the mainframe
environment from a user by basing the
interface entirely on PC menus. The
application also can handle communi¬
cations with the mainframe, filtering
the communication to present selective
information to the user. Mainframe
software manufacturers often use this
technique to allow PC-based products
to work with their mainframe products.
Many manufacturers control both
ends of the connection by creating spe¬
cial mainframe routines to communi¬
cate witli their PC products. By using
such routines, they are not forced to
depend on standard text-based screen
displays to transfer data, and can use
compression techniques to speed data
transfers and other communications
between the computers.
The second goal of PC-mainframe
applications is to transfer files for use
by PC programs. This would allow, for
example, Lotus 1-2-3 users to incorpo¬
rate data directly from mainframe data¬
bases into their PC spreadsheets. It is
not uncommon for financial managers
to key data into spreadsheets from
mainframe hard-copy reports—a waste
of a company’s resources and an ex¬
tremely error-prone process. Using an
application on the mainframe, reports
can be saved on disk and reformatted
for PC products such as 1-2-3. These
reformatted reports then can be down¬
loaded to PCs to be read by the appro¬
priate applications program.
A tliird use is for PC applications
to log-on to mainframe electronic mail
systems, sending and retrieving mes¬
sages to and from the PC. Emulation
boards that support binary-file transfers
can send backups of PC software to
mainframe files. The mainframe can
function as a file server for a network
of connected PCs in which PC pro¬
grams are loaded onto the mainframe
and downloaded to multiple PCs. In
addition, PC-mainframe connections can
support a form of distributed pro¬
cessing. Data can be manipulated lo¬
cally on a PC and periodically uploaded
to a mainframe; and the mainframe can
send data back to the PC for its use.
Finally, a PC can be programmed
to initiate mainframe log-on sessions.
execute transactions, and transfer data
without user assistance. This capability
permits long-running jobs and those
that place heavy loads on the main¬
frame to be delayed until off hours
when mainframe resources are more
readily available.
A VIEW FROM THE MAINFRAME
The PC-mainframe environment is
dominated by mainframe myopia—a
mainframe cannot detect whether it is
communicating with another computer
or a human operator. The 3270 net¬
work was not designed to connect to
computers; it was intended to transmit
at most a couple of thousand bytes at a
time to each of its terminal devices.
Because the connection is display-
rather than data-oriented, a PC applica¬
tion must view the mainframe world
from a 24-by-80-character window. (See
“Exploiting the 3270 Connection,” Mary
DeWolf, July 1987, p. 94.)
This orientation imposes restric¬
tions and limitations. For example, the
window usually has fields and headings
appropriate for viewing and input from
a terminal operator. When retrieving
and sending data, an application must
know the location of the appropriate
screen fields. This requires some care
and can be a major source of frustra¬
tion when developing a PC application
to link with the mainframe. It also
makes error handling difficult.
A terminal operator usually has no
problem adjusting to screen changes
caused by software enhancements. If a
field placement changes or extra
menus are added to the mainframe
application, a human user usually can
work around it with little difficulty.
Similarly, if a mainframe application is
unavailable or crashes during a main¬
frame session, the operator can recog¬
nize the source of the problem and
take appropriate action.
A PC application attempting to run
the same application is not nearly as
flexible. Unless the PC has been pro¬
grammed to handle these situations,
the application probably will fail. A PC
application must be robust enough to
deal with mainframe screens and situa¬
tions that differ from initial expecta¬
tions. Manufacturers of mainframe
products having PC interfaces can pro¬
vide a major enhancement over the
standard terminal environment by writ¬
ing applications software to specifically
support communications with a PC. In¬
stead of using screens and field loca¬
tions, they can send data in binary
form to the PC without displaying it to
the terminal operator.
120
PC TECH JOURNAL
CARBON CXDPY HUS.
NCWHAMNGATA
FORTUNE 500 COMIANY,
NEAR YOU
Our Carbon Copy™ communica¬
tions software is a big hit with Corporate
America. So big that it’s already being
seen in over 80% of the Fbrtune 500.
That’s why they’re so eager to get their
hands on Carbon Copy PLUS™ the sequel
without an equal.
Running on an IBM® or com¬
patible PC, Carbon Copy PLUS includes
enhanced remote control capabilities over
and above those found in our original
Carbon Copy. Plus terminal emulation,
compatibility with Crosstalk® script files,
and support of X-Modem and Kermit
file transfer protocols.
In remote control mode, use your
PC to observe and control a remote PC
as though the two were one. Applications
include remote training and support.
Access to your home or office PC while
on the road. Remote access to
a LAN. Remote access to a main¬
frame or mini via an IRMA® or
SmartAlec® board. And much more.
In terminal emulation mode, it’s easy
to access host computers and on-line
information data bases. And you can
receive or transmit telexes from around
the world. Carbon Copy PLUS emulates
most popular async terminals.
So, never again will you have
to buy one communications program
for PC remote control. And another
for general-purpose conununications.
Because for about half the cost of buying
both. Carbon Copy PLUS now gives
you one integrated connectivity package
that does it all.
Fbr more information, contact
Meridian Tbchnology or see your local
dealer. Carbon Copy PLUS. It’s a pro¬
gram you definitely don’t want to miss.
CARBON COPY PLUS
Carbon Copy and Carbon Copy PLUS are trademarks of Meridian Tbchnology Inc. All other rcfercnc-cd producl.s arc trademarks of their re.spc('tlvi' manufacliireni.
MBTidi^ri/W ////1101 Dove Street, Suite 120
Newport Beach, CA 92660 (714) 476-2224
CIRCLE 228 ON READER SERVICE CARD
REFINING ACCESS
nGUREl ; AtdoKcy/AJVO I’C-MdiiiJhiDK' Conneclioii ;
PC DISPLAY
PC
KEYBOARD
BUFFERS
OUTPUT
FILES
AUTOKEY
COMMAND
SCRIPT
EMULATOR
BOARD
LOCAL
CONTROLLER I.;,.-..
_
MAINFRAME
CD’s AutoKey/3270 mediates the interaction between a user, a PC, and a 3270 terminal emulation session in a PC-mainframe
environment. It simplifies the mainframe connection, offering a friendly interface for many complex operations.
THE CONNECTION
A PC generally communicates with a
mainframe at a very low level. The PC
program must address the I/O ports
directly. Manufacturers of emulator
packages have documented these inter¬
faces fairly well, often including the
source code for sample programs that
perform basic operations, such as read¬
ing the screen display and sending key¬
strokes to the mainframe. However,
they have not included high-level rou¬
tines to mask the low-level details.
For example, when sending a
string of characters to the mainframe, a
program cannot transmit the ASCII
codes for the characters. Instead, it
must present the proper key-scan
codes to replicate the keys that would
have been pressed by an operator.
These codes are unique to the 3270-
type terminals and replicate neither the
ASCII nor the EBCDIC character sets.
Further, the codes must map more
than one byte code per keystroke; for
example, an uppercase letter is the
code for the corresponding lowercase
letter, prefaced with a code to indicate
a shift-up key followed by a shift-down
key code. This is rather tedious work.
One alternative is to use IBM’s
High-Level Language Application Pro¬
gram Interface (HLLAPI)—see “Key¬
stroke Automation,’’ John Singer, Janu¬
ary 1986, p. 113. This program reduces
the complexity of communications be¬
tween a user application and a terminal
connection. It was originally designed
to work with the IBM 3270-PC and the
PC Control Program, which handles
communications between the PC and
mainframe environments.
The HLLAPI is a specialized operat¬
ing system loaded under DOS, which,
in turn, runs under the Control Pro¬
gram along with the mainframe com¬
munications sessions. It can handle all
the details of communicating with the
Control Program, for example, the con¬
version of character strings to the ap¬
propriate key codes.
The HLLAPI has two parts: an in¬
terface program that is loaded before
running a user application, then resides
in memory, and a Language Interface
Module (LLM) that is linked into the
user’s program. The LIM sends the resi¬
dent component a function code that
represents the service requested, such
as send keystrokes or copy strings
from the terminal, plus the parameters
related to that request. The LIM also
returns status codes from the resident
module after the Control Program has
processed the function call. The low-
level details of the PC-mainframe con¬
nection are hidden from the applica¬
tions developer. However, the devel¬
oper must include the HLLAPI calls and
connection in an application; the
HLLAPI cannot operate on its own.
COMMUNICATING WITH AUTOKEY
CDI’s AutoKey/3270 simplifies the PC-
mainframe connection (see figure 1). It
not only automates many tedious tasks,
but also provides the environment in
which the commands are executed. Al¬
though the software is not as flexible
as custom-designed software, AutoKey’s
capabilities and specialized command
language are sufficient for a wide vari¬
ety of user applications.
AutoKey handles some details in
much the same way that the HLLAPI
does—such as translating the string to
the appropriate scan codes, writing to
the I/O port, and checking that the
command has been accepted by the
mainframe. Moreover, it operates as a
stand-alone product that does not re¬
quire a terminal emulation program.
The user need not write a program in
another language to automate the PC-
mainframe connection.
It can run on a PC, PC/XT, PC/AT,
3270-PC, or compatibles. AutoKey re¬
quires a minimum of 256KB of mem¬
ory, one diskette drive, and a compati¬
ble emulation board. It is designed to
work with a large variety of such
boards, including those from AST Re-
122
PC TECH JOURNAL
STRAIGHT TALK
Our NETBIOS
LAN/Gateway
... has been designed by our professionals to meet
the most exacting standards. If your installation
has a unique condition, just call us. Our
technicians in Scottsdale will fix it, or under our
QuickFix Program * will be on your doorstep
within 48 hours.. .probably much sooner. And if
they can*t make it, call me, and I will.
Jim Pitre,
President
With Linkup products your beginning purchase is just
that.. .a foundation that works.
Doesn’t it make ever so much more sense to develop
your software and computer systems as upgradable
assets? Begin with our Linkup 3270 Interactive Ter¬
minal Facility (ITF) connection to the mainframe, then
expand or change as your needs require to include...
...File Transfer. Two programs for your considera¬
tion. One interfaces with the TSO or CMS editor; one
works with IBM 3270 PC host-based file transfer
under TSO, CMS or CICS...
...or Application Program Interface. Integrate your
own programs to use the capabilities of 3270
SNA/BSC, 3770 SNA and 3780 BSC emulations...
...or Linkup SpeedPrint. Data rates up to 19.2 Kbps
from an application or disk to a dedicated high-speed
printer, eliminating host/local print conflict.
...or LAN/Gateway. With the addition of interfacing
modules the LinkUp 3270 ITF runs on most Local
Area Networks. Use the advanced package for
datacom between PCs on a LAN and IBM or
compatible host.
These intelligent software capabilities offer the
options your computer environment just may require.
For today. For tomorrow.
* QuickFix Program
In addition to telephone assistance from Scottsdale, Infor¬
mation Technologies, Inc. stands ready to help you in critical
situations. We’re different because when our product is at fault
and it can’t be fixed from Scottsdale, we will come to you
anywhere in the contiguous 48 states at no charge. If the problem
is caused by your PC, the way you’ve configured it, the main¬
frame, or any reason other than our product, then you pay our
standard consulting fee plus expenses.
Designed, engineered and
manufactured in the U.S.A.
INFORMATION
TECHNOLOGIES INC.
7850 East Evans Road, Scottsdale, Arizona 85260 1-800-431-3460 1-602-998-1033
Call us. Our engineers speak SNA/SDLC, BSC, ASCII, EBCDIC and Human.
CIRCLE NO. 166 ON READER SERVICE CARD
REFINING ACCESS
TABLE 1: Atil()KcYL )27<> Coiiunaii(/s
COMMAND / CMD ABBREVIATION arguments
Optional parameters in square brackets: [ . . . ]
Choices among options separated by vertical bars: 1 ... 1
EXPLANATION
ASGNCRSR/AC row column
AT row col SAY “message string” [USING foregnd backgndjf
AT row col GET “input string” [HIDE]
AT row col DRAW BOX width BY height [SINGLE] 1 (DOUBLE]
AT row col DRAW SPACES width BY height [USING foregnd backgnd;
Puts the cursor at the designated row and
column on the 3270 display.
Controls interaction with the PC. SAY places
character strings on the display; GET prompts
for input at the specified location and retrieves
] the input; and D^W draws boxes and colors
areas of the specifed size.
GALLFILE/CF “command file” [“subroutine name”]
COMPARE GET “character string” [UPPER]
COMPARE BUFFER number “character string” [UPPER]
COMPARE BUFFERS x AND y [UPPER]
Branches to the specified AutoKey command file.
Performs comparison between character strings
stored in various locations. GET compares
keyboard input to the specified string, BUFFER
compares contents of a buffer (see READ) to the
specified string, and BUFFERS compares
contents of two different buffers. UPPER converts
alphabetical characters to uppercase before the
comparison is done.
ECHO [ON] 1 [OFF]
Echoes the AutoKey commands to the PC display
as the commands are executed.
END
ENDRTN
FILE IS “filename” [APPEND]
Terminates an AutoKey command file.
Terminates an AutoKey subroutine.
Opens a DOS file and, optionally, writes at the
end of the file if APPEND is specified.
GOTO label
GOTOFILE/GF “filename”
Unconditional branch to the indicated label
within the current command file.
Unconditional branch to the indicated AutoKey
command file.
HOTKEY
Switches between PC display and terminal
emulation session.
IF “test” true-goto-branch false-goto-branch
Test values: CURSOR 1 FOUND 1 STATUS 1 TIMER
TIMEOUT 1 KERROR1 EOF 1 MATCH
Tests one of the conditions above and branches
to the specified location (eidier a label or NEXT ,
to execute the command following the IF). The
parameter tested is set by one of several
AutoKey commands.
[KEY] “key value” [timeout value in seconds] [WAIT] 1 [NOWAIT]
Key values to send: CLEAR 1 DOWN 1 ENTER 1 EOF
HOME 1 LEFT 1 MARK 1 PA1-PA3
PF1-PF24 1 PRINT 1 RESET
RETURN 1 RIGHT 1 SYSREQ 1 TABBKWD
TABFWD 1 UP
Issues a 3270-specific keystroke in the terminal
emulation session.
KEYSTAT/KS
PASSWORD/PS “character-string” “display message”
Checks and sets status of keyboard in the 3270
emulation session. Sets STATUS and KERROR test
values (see IF).
Pauses execution of airrent command file and
then prompts the user for a password. If the
entry matches the character string, AutoKey
continues processing; if not, AutoKey aborts and
dUplqps an error message. ,
PAUSE “display message”
PRINT BUFFER “buffer number” [TO FILE [ENCRYPT]] 1 [ASCII]
PRINT CHAR “ASCII decimal value” [TO FILE [ENCRYPT]]-1 [ASCII]
PRINT #GET [TO FILE [ENCRYPT]] 1 [ASCII]
Pauses execution of the current command file,
displays the specified character string, and waits
until the user presses a key.
Moves data from a READ buffer to either a DOS
file or to the PC display. It also can write an
ASCII decimal character value, or the PC
keyboard buffer contents from the last AT . . .
#GET command to a file or the display.
search, CXI, DCA, Persyst, Forte, IBM,
Quadram, and others. In addition,
AutoKey can operate from remotely
connected boards, as well as boards
with direct coaxial connections. LAN
versions of AutoKey have been released
for some of the more popular net¬
works, including Novell and Banyan.
GDI’s AutoKey/3270 is available as
either a developer’s package or. as a
runtime system. The developer’s pack¬
age includes the command interpreter
and utilities for installing the package
and for encrypting and decrypting files,
as well as a utility for determining the
cursor position and the field attributes
of a 3270 screen display. The AutoKey
runtime system includes only the
command interpreter.
Because AutoKey has no interactive
mode, it requires a list of commands
from which to work. These commands
can be designed to control either the
mainframe connection or the PC. When
124
PC TECH JOURNAL
COMMAND / CMD ABBREVIATION arguments
Optional parameters in square brackets: [ . . . ]
Choices among options separated by vertical bars: 1 ... 1
EXPLANATION
READ 3270 row column FOR length INTO BUFFER “buffer number”
READ 3270 row column FIELD
Captures data from the 3270 display and places
it into an internal buffer. A maximum of 1,920
characters can be captured and placed into any
one of five available buiSferS; The command also
can collect the contents of a display field, using
the FIELD option.
RETRIEVE/RET row column [“text string for comparison”]
Tests to determine if the 3270 display cursor is
at the specified location. Sets the test value
CURSOR for testing with IF. An optional text
string can be supplied and the command will
set the CURSOR value to true if it. finds that
string in the given location.
SAVE CURSOR(n)
R(n)
C(n)
Saves the current 3270 display SAVE cursor
location in an internal SAVE array, the cursor
table. CURSOR saves both row and column
location, R(n) and C(n) save only the row and
column values respectively. These table entries
c^ be referenced in various commands where a
numeric literal would otherwise be rMnired.
SEARCH “text string sought” [LAST] 1 [NEXT] 1 [NEXT n]
SEARCH ALPHA 1 UNPROTECT 1 NUMERIC
Searches 3270 display for indicated string or
field with the indicated characteristics.
TIMEOUT “number of seconds”
Sets the number of seconds that KEY will wait to
be accepted by the mainframe before resuming
command file execution.
TIMER START “number of seconds”
TIMER CHECK
Sets and allows checking of a clock value against
the current DOS clock time. Use of the CHECK
parameter set the TIMER test value, which can
be tested in an IF statement.
TYPE row column [“char string”] 1 [#record] 1 [#GET] 1 [#NEXT]
TYPE * *
TYPE R(N) C(N)
[UPPER] 1 [LOWER]
Sends a character string to the mainframe at the
location specified. The source of the string can
be either the literal included in the command, a
record from a TYPEFILE, the current string in
the #GET buffer, or the next record from the
TYPEFILE. The location of the input can be at
the row and column specified in the command,
the current cursor location (* *) or row and
column values from the cursor table.
TYPEFILE/TF “filename”
WAIT UNTIL hh;mm [SHOW]
WAIT UNTIL GET
Opens a DOS file for processing by subsequent
TYPE commands. Records are read from this file
by TYPE and appropriate subcommands.
Pauses execution of the cornmand file until the
time specified in the command is reached or
until the time value entered though AT . . ,
#GET is reached. The SHOW option displays
the current time and the time scheduled for
resuming conimand execution.
KDOS [“filename”] 1 [#GET]
Suspends execution of the command file and
starts a second copy of COMMAND.COM.
Optionally, this command also can start a copy
of a DOS program, which is specified on the
command statement or through a previous
AT. . . #GET command.
The script command language provides for the basic PC-mainframe manipulations most users will want to perform, as well as
providing for other useful extensions. TYPE sends keystrokes to the mainframe. With TYPEFILE, it retrieves data from a DOS
file and sends them to the mainframe. READ and PRINT retrieve and enter data from the mainframe.
AutoKey is loaded, it attempts to inter¬
pret and execute commands from ei¬
ther its default source, AUTOKEY.CMD,
or from a file named as a command¬
line argument. These commands are
stored in either an ASCII text file or in
files that are encoded by AutoKey’s
encryption utility.
Depending upon the command
chosen, AutoKey writes to the PC dis¬
play and controls the host session. It
displays messages to the user, receives
and processes the user’s responses, and
uses colors and boxes to enliven the
PC display. It also can initiate the ter¬
minal session and perform major
emulator functions, such as sending
keystrokes, retrieving data, searching
for strings, checking the status of the
keyboard, and positioning the cursor.
The command range is broad (see
table 1). The scope of the language
provides for the basic PC-mainframe
manipulations, as well as other useful
SEPTEMBER 1987
125
REFINING ACCESS
extensions. The TYPE command is used
to send keystrokes to the mainframe.
With TYPEFILE, it retrieves records
from a separate DOS file and sends
them to the mainframe. Through READ
and PRINT, it retrieves data from the
mainframe session and puts the data
into a file or onto the PC display. Auto-
Key also can encode this information as
it is placed into a DOS file.
AutoKey’s language includes both
comparison and control-branching
logic. User input can be tested from
AutoKey/3270 scripts. Activity on the
mainframe connection also can be
tested from AutoKey/3270 scripts; for
example, a script can test if the main¬
frame will accept keystrokes from the
emulator as well as test for the pres¬
ence of specific strings in the terminal
display buffer. Subroutines can be
called from a command file. These rou¬
tines can be kept in separate DOS files
to help structure and make modular
the AutoKey command-file routines. An
echo mode, available as a debugging
aid, echoes the commands to the PC
display as they are executed.
sva'
la'a* -ee*®' - a\' a'a'®.
’®' .irt
Sc»|®^ract';'®eratio'’
O &
Circ'
^ OP®'
o LaVO'*^ , cap®*’’"*'^
§ „ p-»>“
o
0 A?GiPf<
IBM PC, XT and AT are trademarks of International Business Mac
Other commands help make the
presentation more useful and attractive.
Some commands display messages and
prompts; the AT command enables the
user to draw boxes and borders in the
colors offered by the IBM Color Graph¬
ics Adapter (CGA). Using HOTKEY, the
terminal session can be presented to a
user while the command session is sus¬
pended. A DOS program can be in¬
voked from within a command-script
execution. With WAIT, sessions can be
suspended for up to 24 hours, and
then run unattended.
AutoKey also provides several utili¬
ties. For security, ENCRYPT.EXE and
DECRYPT.EXE encode and decode com¬
mand files. AutoKey can interpret
encrypted files directly, so that users
need not decode their files before
using them. Another utility, ADP.EXE,
the attribute-display program, deter¬
mines the row and column locations
and attributes of the fields on a 3270
display screen. Without such a function,
the developer of a PC-mainframe appli¬
cation often must determine this infor¬
mation by trial and error.
Before AutoKey can be used, it
must be configured for the particular
emulator board that is installed in the
PC. A separate installation program
leads the user through the process by a
series of prompts. The first screen lists
some of the boards supported by the
package (see photo 1).
The process is straightforward if
the user can answer the choices to be
made. If the user is uncertain, AutoKey
is not much help; the package provides
little documentation about the configu¬
ration process. None is included on¬
line with the utility itself and the man¬
ual describes only certain boards in
which the base I/O addresses can vary.
AUTOKEY TRIALS
AutoKey version 1.2 was tested on a
3270-PC running DOS 3.2 and the
3270-PC Control Program 2.1, and on
an XT with a DCA IRMA card running
DOS 3.2. Although configuring the
IRMA board was simple, the 3270-PC
installation was not. The installation
program is ambiguous about the ap¬
propriate choice for the 3270-PC. Ex¬
perimentation eventually uncovered a
setting that worked (sort oO. The “IBM
Control Program” option on the instal¬
lation menu was the only one that
worked with the 3270-PC. One of the
major virtues of the 3270-PC is that it
supports four simultaneous terminal
sessions; however, it must run in dis¬
tributed function terminal (DFT) mode
in order to suppon these four sessions.
126
CIRCLE NO. 218 ON READER SERVICE CARD
PC TECH JOURNAL
PHOTO 1: AutoKcy 13270 Coiifi^iimtion Screen H PHOTO 2* Sample A^^^licalion Screen
The AutoKey/3270 configuration menu displays some of the
emulation boards that are supported by the product.
Yrtu inwko any of flir fol lowing;
1, KlrcIronic flAll syslc*
r.. Inv-oeMlory Cootrol sg<lr«
3. Hr sources syslew
i Order Entry systrM
5. Systr« Report r^iclUty
6. Accounts HeccK'oMc sy.stew
7. Leave the wolnfr.^iiw session
Enter Your TY'ansectInn Choice, please. P|
The display from an AutoKey program script demonstrates
how it can control the display for a user.
AutoKey does not support DFT mode
and gives no indication of this until it
generates an error message at runtime
and terminates. It turns out that Auto¬
Key supports only the single-session,
control unit terminal (CUT) mode. GDI
plans to support the DFT mode in a
future release of AutoKey.
AutoKey ran well for the most
part. Nearly all of its basic operations,
such as sending keystrokes, controlling
the PC display, and performing logical
tests, ran as expected. AutoKey sup¬
ports calls to subroutines of script
commands. The utilities performed as
described. AutoKey also loaded and ran
at an acceptable speed. Sheer execu¬
tion speed in this environment is less
important than in applications based
solely on a PC. Here, the limiting factor
is the time required by the mainframe
to process the PC’s requests.
A sample program is shown in fig¬
ure 2, and the display generated by this
script is shown in photo 2. In this pro¬
gram, the command file logs a user
onto a CICS mainframe session, dis¬
plays the user’s transaction choices, and
then waits for the user’s selection.
Once the user has chosen a transaction,
the script invokes that selection and
toggles to the mainframe session. The
AutoKey’s language is not complex; its
Let Overland Data’s professional technical staff help you
select the right tape drive for your personal computer
system. Additional tape drive models available. Call today.
Let Overland Data match your specific application needs
to one of its wide range of 9 Track Tape Subsystems for the
IBM PC/XT/AT and Compaq 386. Subsystem prices
include 9 track tape drive, interface board, cables, data
interchange and backup software for MS-DOS or XENIX
operating systems.
Interface boards are warranted .for two years, parts and
labor. Call for specific tape drive warranty information,
and to find out about our special Demonstration Unit
Program.
IBM PC, XT, AT are Registered Trademarks of International Business Machines Corp.
XENIX and MS-DOS are Registered Trademarks of Microsoft Corp. Compaq 386 is a Registered Trademark of Compaq Computers, Inc.
Overland Data, Inc.
5644 Kearny Mesa Road
San Diego, CA 92111
Tel. (619) 571-5555
Telex 754923 OVERLAND
9 Track Tape Drives
For IBM PC/XT/AT and Compaq 386
Qualstar 1052
• 1600/3200 bpi
• 25/50 in./sec.
• Manual load
• Streaming
Subsystem price:
$3,595.
Cipher Data F-880
• 1600 bpi
• 25/100 in./sec.
• Auto load
• Start/Stop & Streaming
Subsystem price:
$4,195.
Kennedy 9600A
• 800/1600/3200 bpi
• 50/100 in./sec.
• Auto load
• Start/Stop & Streaming
Subsystem price:
$6,495.
Anritsu 2620
• 1600/3200/6250 bpi
• Cache buffered
• Auto load
Subsystem price:
$9,495.
CIRCLE NO. 185 ON READER SERVICE CARD
REFINING ACCESS
FIGURE 2: Sample Commaad Saipl
cls
border magenta
at 6 4 draw spaces 22 by 12 using yellow red
at 6 4 draw box 22 by 12 double using yellow red
AT 7 5 SAY "CICS logon procedure" using white red
cicsloop:
type "devlcics"
key enter
search "DEVLCICS SYSTEM"
if found next cicsloop
key clear
type "CSSN" . ~ '
key enter
nameloop.
search "NAME;"
if found next nameloop
at 10 6 draw box 27 by 3 using Icyan blue
at 11 7 say "name?" using red white
at 11 12 get 20
type #get
key tabfwd
at 14 8 draw box 22 by 3 using Icyan blue
at 15 9 say "user password?" using red white
at 15 23 get 6
type #get
key enter
at 19 5 say "CICS Logon Successful!!"
opt loop:
at 4 35 draw spaces 44 by 20 using white blue
at 4 35 draw box 44 by 20 single using white blue
at 6 38 say "You may invoke any of the following;" using white blue
at 8 42 say "1. Electronic Mail system" using white blue
at 10 42 say "2. Inventory Control system" using white blue
at 12 42 say "3. Human Resources system" using white blue
at 14 42 say "4. Order Entry system" using white blue
at 16 42 say "5. System Report Facility" using white blue
at 18 42 say "6. Accounts Receivable system" using white blue
at 20 42 say "7. Leave the mainframe session" using white blue
at 22 37 say "Enter Your Transaction Choice, please." using white blue
at 22 76 get 1
cheki:
compare #get 1
if match next chek2
key clear
type "mail"
key enter
hotkey
goto opt loop
chek2:
compare #get 2 - - .■
if match next chek3 ^
key clear
type "incx"
key enter
hotkey
goto opt loop
chek3:
compare #get 3
if match next chek4
key clear_
type "hrsx"
key enter
hotkey
goto opt loop
chek4:
compare #get 4
if match next chekS
key clear
type "orex"
key enter
hotkey
goto opt loop
chekS:
conpare #get 5
if match next chek6
key clear
type "srfx"
key enter
hotkey
goto opt loop
chek6: . _
compare #get 6
if match next chek7
key clear
;. ■ .t;-'
type "acrx"
key enter
hotkey
„ ...
goto opt loop
chek7:
compare #get 7
if match next opt loop
key clear
type "cssf logoff"
. .
key enter
beep
pause
cls
end
T^is command file logs a user onto a CICS mainframe session, displays the user’s transactions, and waits for the user’s selec¬
tion. It then invokes the selection and toggles to the mainframe. The language is not complex—anyone with even a passive
understanding of programming languages should have little difficulty writing AutoKey command files.
command files should not be difficult
for anyone with even a passive knowl¬
edge of programming languages.
MORE INFORMATION
One strike against this product is its
documentation. For one thing, it
should be more complete. The man¬
ual’s descriptions are more like notes
than a full-scale command reference. It
briefly sketches the commands, with a
few examples sprinkled in, but does
not fully explain their use. The con¬
fusion that resulted from running
under DFT and CUT modes is typical.
Another example involves SEARCH—
the documentation fails to mention that
this command is case-sensitive.
Many of the individual AutoKey
commands depend on the successful
completion of specific previous com¬
mands. For example, before the PRINT
command can print to a file, that file
must be opened with a FILE IS com¬
mand. These dependencies are not
made obvious in the documentation.
Although these idiosyncrasies can be
discovered fairly easily by experiment¬
ing with different scripts, users should
not have to spend their time discover¬
ing and rediscovering unused and un¬
available features because of omissions
in the documentation.
The package does include a help¬
ful on-line tutorial; one in the manual
also would be useful. In addition, users
have come to expect software to in¬
clude executable examples that demon¬
strate the product. AutoKey has no such
examples. It supplies a sample com¬
mand file that is syntactically correct,
but users should not expect this file to
execute. Mainframe environments vary
too much for generic examples to
work in every situation.
SOFTWARE DIFnCULTIES
AutoKey can transfer data between a PC
and a mainframe, but it is not recom¬
mended for moving large blocks of
data. The READ 3270 command allows
as many as 1,920 characters (a full
screen of data) to be transferred at a
time, but it would be awkward to move
128
PC TECH JOURNAL
It’s moving day.
lime to pack up that big mainfi*ame
program and move it to the PC.
Relax. It’s going to be the easiest
move you ever made if you use the new
RM/FORTRAN™ V2.4 with
Austec’s new RM/Forte™ produc¬
tivity tools.
RM/FORTRAN has the VAX, VS
and FORTRAN-66 extensions you
need, and is field-proven with more
than two years of mainfirame conver¬
sions by thousands of demanding
engineers and scientists. .-
And, with RM/Forte you A
can complete your conver- U
sion at a record pace . . . -=^S5s
cutting debug time up to 50%...
diagnosing syntactical errors in 1/5 the time.
Tfou’re in tiie fast lane because RM/Forte integrates
all major program development tasks—edit, compile,
link and debug—into one interactive, menu-driven
environment. Just a few simple keystrokes move you
from one task to another . . . and back again.
Plus, you get a full screen editor, a syntax che^er
and a source code manager that automates compiling
and linking as you make changes.
RM/FORTRAN applications are more than just
easy to develop—they nm fast, too. Sieve or
VHietstones, RM/FORTRAN benchmarks ahead of
the bunch. And if you need it, RM/FORTRAN has a
very fast 8087/80287 emulator to give you the power
of a coprocessor.
But don’t take our word for it. Listen to a moving
professional: “RM/FORTRAN lets us move rmin-
frame 'programs to PCs faster and clea'ner than any
other compiler on the
market. ” (John Haestad,
Haestad Methods)
RM/FORTRAN was
theyirst PC FORTRAN
IGSA certified a Full Level ANSI 77
—W with no errors. You may have heard
* \ 1 V, Qf sister, IBM PC Professional
FORTRAN.
Enough reading. Start
writing. Fill out and send in
the coupon below to find out
more about RM/FORTRAN
with the new RM/Forte
productivity tools.
H Then move it!
AUSTEC
Austec Inc.
609 Deep Valley Drive
Rolling Hills Estates, CA 90274
Or call 213/541-4828
r PCT-9 H
Let’s get moving. Send me details on •
I RM/FORTRAN V2.4 with RM/Porte Produc-
a tivity Ibols, and your special upgrade offer.
I
I
I
I
Name
Company
Title
Street
City
State
Zip
Phone (
CIRCLE NO. 195 ON READER SERVICE CARD
REFINING ACCESS
large amounts of data in that way. The
interpreter would have to pause the
mainframe display with each screen’s
worth of data, write it to a file, then
scroll forward for the next screen of
data. A much more efficient method
would be a file-transfer process, such
as that supported by the 3270-PC. This
process is not limited to working only
within the bounds of the immediate
screen—it basically lets the mainframe
scroll the data on the terminal screen
and lets the PC copy the display onto a
file. (The 3270-PC utilities also speed
the process by using file compression
techniques; this also requires the assist¬
ance of a mainframe program.)
Another problem is that command
files executing properly on one emu¬
lator board may not work correcdy on
another—some commands are not sup¬
ported across all emulators. The
SEARCH and HOTKEY commands per¬
form reasonably well with the IRMA
card, but neither works on the 3270-PC.
CDI says that SEARCH does work on
the 3270-PC, but that it takes a long
time. This was attempted, but the pro¬
Find out why everybody is talking about
ME-SHEll'
begin
clrscr;
wrltelnC
wr1teln('
writeln('
wr1teln('
wr1teln('
wr1teln('
writeln('
write!n('
wr1teln('
writelnj'
wrltelnj'
wr1teln('
write!n('
wr1te!n('
wr1te!n('
wr1te!n('
wr1te!n('
wr1te!n('
wr1te!n('
wr1te!n('
wr1te!n('
wr1te!n('
wr1te!n('
write!n('
wr1te!n(’
wr1te!n('
wr1te!n('
write!n('
wr1te!n('
wr1te!n('
wr1te!n('
end.
XO-SHELL
XO-SHELL Is a memory resident program which provides the user
the following capabilities while running an application:
■ Directly from a scrollable directory display, you can
view files, copy files, erase files, change the default
directory, and, when not In application, execute programs.
■ You can display any f1!e, transfer any section of that
f1!e for printing, or transfer It to the keyboard for
Inputting Into your editor.
■ You can print files without leaving an application. You
can Include a header !1ne, containing current date, title,
f1!e name, f1!e creation date and page number on every
page of a !1st.
■ You can search strings from a f1!e or group of files
that you specify; you can cross-reference In the middle of
programming by searching variables from source f1!es.
■ You ca.i create or edit files.
■ You can control and use your printer as a typewriter.
■ You can Input any IBM-PC character as easily as you
Input regular ASCII characters. You can easily draw
vertical or horizontal lines by choosing graphics
characters from a pop-up window.
■ You can obtain the key code of any key combination
without looking up a reference.
■ You can collect the application's screen displays in a
file and later edit or review them.
■ A DOS command editor .allows you to retrieve, edit and
reexecute previous DOS commands.
A . editors (such as Turbo PASCAL, Turbo C, Turbo BASIC, and
Quick BASIC editors) and application software. To add convenience and productivity to
your application, order XO-SHELL now. Just send $69 plus $5 for shipping and handling.
Be sure to Include your name, address and phone number. For Visa or Master Card orders.
Include card number and expiration date; or cal!
1—SOO'-SSB-'SOll (outside MA).
XO-SHELL runs on IBM-PCs, XT's, AT's, Persona!System/2's and true compat1b!es.
It occupies BSKBytes of memory space and requires PC/MS-DOS 2.0 or higher.
WYTE CORPORATION
701 Concord Avenue
Cambridge. MA 02138
Tel. (617) 868-7704
lUliTE Excellence in Software Design
Turbo PASCAL. Turbo C and Turbo BASIC are trademarks of Borland International,
and IBM-PC. XT, AT. PersonalSystem/Z, PC-BOS are trademarks of IBM corporation.
MS-OOS. Quick BASIC are trademarks of Microsoft Corporation.
CIRCLE NO. 154 ON READER SERVICE CARD
gram was terminated when the search
had not completed after 30 minutes.
AutoKey’s command language itself
could stand improvement. Functions
seem to be distributed arbitrarily
among the commands, and some coih-
mands are overloaded with options.
Why, for example, is only one com¬
mand (AT) used to display messages to
the PC display, retrieve input from the
keyboard, and also paint colored boxes
on the PC display? This can be confus¬
ing when trying to determine which
command is appropriate.
The language would be more us¬
able with the addition of several fea¬
tures, such as parameter passing be¬
tween calling and called routines. The
language also cannot use variable
names as arguments in the commands.
It does, however, support references to
the elements kept in a cursor table, an
array of possible row- and column-
screen locations, but the table is awk¬
ward to use.
But these criticisms may be a bit
severe. AutoKey is not designed to be a
complete programming language. Its
intended environment, the PC-main-
frame connection, is, itself, fairly fluid.
Because mainframe screens and menu
displays change frequentiy, it is impor¬
tant for a product such as AutoKey to
allow changes to be made quickly, and
AutoKey does do that. It can accommo¬
date change more easily than the other
automation methods because it is
based on an interpreted script.
AutoKey is recommended for users
who wish to begin automating a PC-
mainframe connection. It hides the “na¬
tive” communication modes required
by emulator boards from the program¬
mer and automates the connection at a
fairly high level, saving users a great
deal of work. AutoKey puts automation
within the reach of users who are not
inclined to attempt the low-level pro¬
gramming otherwise required. It also
provides the means to develop a
friendly user interface. Although the
package is not flawless, its problems
are insignificant compared to the over¬
all usefulness it delivers. ’ IteimHEl
CDI Systems, Inc.
2803'Butterfield Road
Oak Brook, IL 60521
3121574-5900
AutoKeyl3270: Programrner, $149;
Runtime version: $69
CIRCLE 353 ON READER SERVICE CARD
Paul Firgens, a senior database analyst for
a Wisconsin firm, does extensive work in a
PC-mainframe environment.
130
PC TECH JOURNAL
WEUOMETO
or SERIOUS 4GL/
ZIM, the Fourth-Generation Language
Database Management System that has set new
standards in Power, Performance, Productivity
and Portability welcomes you to the world of
serious application development.
ZIM 3.0 is the most comprehensive 4GL tool
available today, offering complete micro-to-
mainframe portability (with no code changes),
performance optimized in each operating en¬
vironment, multi-user, extensive import/export
capabilities, rapid prototyping, complete de¬
bugging facilities, nested assignment ex¬
pressions, CASE tools, SQL, multi-level security,
report painting and more. All in a comprehen¬
sive procedural language that permits every¬
thing from simple queries through to complex
database operations and provides capabilities
for comprehensive data extraction, manipula¬
tion and presentation.
To be useful, an application development tool
has to provide maximum flexibility, perform¬
ance and productivity—regardless of the nature
of the application. ZIM has it NOW!
PORTABIllTYi Complete micro-to-mainframe
portability means applications can be devel¬
oped on PC's and immediately implemented in
the client environment with no code changes.
Our growing list of compatible operating en¬
vironments encompasses the world of serious
7 00 percent portability
technology: single user MS-DOS, MS-DOS net¬
works, Novell networks, QNX, UNIX, XENIX,
VAX/VMS and VM/CMS.
DEVELOPMENT ASSISTANT: ZIM/DA (ZIM's
development assistant companion product) is a
key element in ZIM's productivity and CASE
offerings. ZIM/DA is comprised of an applica¬
tion generator, menu generator, active and com¬
prehensive data dictionary, report painter, code
editors and context-sensitive help. ZIM/DA
permits remarkably fast transition from pro¬
totype to finished application.
THE ZIM LANGUAGE: Time is money. It shouldn't
be spent writing endless lines of code or worse,
tying up expensive mainframe systems. The
ZIM language, based on the entity-relationship
(E-R) model, provides the power that serious
application developers demand. Compare a
typical SQL command and the ZIM equivalent:
DEBUGGING: ZIM's active data dictionary plays
an integral role in reducing debugging time.
Use the PARSE command to verify coding ac¬
curacy and context. Singlestep execution aids in
debugging.
POWER: ZIM is rich in powerful features and
functions such as:
• Al-based access strategy analyser.
• Unsurpassed computational abilities, includ¬
ing CASE expression which handles with
ease the 'step' functions found in real-world
business applications.
THEWORID
DBMS PROCRAMMING
• Natural multi-user features including user-
defined transactions, roll-back, audit trails
and roll-forward.
• Complete code-data independence.
• Exceptional text-handling capabilities.
• Unlimited forms manipulation and report¬
writing capabilities.
• Multi-lingual applications (French, German
etc.)
SECURITY: ZIM's multi-level security features
include log-in, passwords, permission-based
access to entity sets, relationships and fields
and encryption/decryption of entity sets and re¬
lationships.
VIRTUAL HELDS: ZIM's unique virtual fields ca¬
pability allows you to easily implement com¬
posite or concatenated keys, derived or com¬
puted fields, soundex indexes, etc.
IMPORT/EXPORT: ZIM masters the importing
and exporting of screens and data to and from
word-processing, spreadsheets and provides
superlative forms composition through laser
printers. ZIM applications already in use have
saved millions of dollars through the reduction
and/or elimination of paper forms.
ZIM is supported by an ever-growing family of
companion products like Niva's Guide to
ZIM (the authoritative guide from introductory
to expert levels), the ZIM Compiler to ensure
the highest level of performance of your ZIM
application, a Program Language Inter¬
face permits "C" access to ZIM databases,
ZIM-ISQL allows queries based on SQL syn¬
tax, Runtime and Query Runtime systems
and ZIMPLE, an add-on module that permits
easy use, allows end-users to create their own
simple applications, ad hoc queries or paint
their own reports (used with ZIM or Query
Runtime).
And you'll be supported too! Zanthe's Priority
Support program includes first-rate telephone
technical support, free updates, new versions
and periodic technical bulletins. Code Review
and Training services are available for all lev¬
els of ZIM users.
Around the world, from Australia to Europe,
ZIM Service Centers and Distributors
stand ready to supply and assist any ZIM user.
Already an integral part of data management in
national governments, international banks, fi¬
nancial corporations and thousands of other
applications ZIM welcomes you to the world of
Zanthe Information, Inc.
1200-38 Antares Drive
Nepean, Ontario K2E 7V2
U.S. 800-267-9972
Canada 613-727-1397
ZIM is a registered trademark of Zanthe Information Inc. VAX and VMS are registered trademarks of
Digital Equipment Corp. UNIX is a registered trademark of AT&T Bell Laboratories, XENIX and MS-DOS
are registered trademarks of Microsoft Corp. QNX is a registered trademark of Quantum Software
Systems Ltd. VM/CMS is a registered trademark of IBM Corp. © 1987 Zanthe Information Inc.
CIRCLE NO. 236, ON READER SERVICE CARD
ZIM DEFINES WORLD CLASS
Australia
Clarity Financial Services Software
20th Floor
Royal Exchange Building
56 Pitt Street
Sydney, Australia 2000
Ms. Marie Musumeci
011-61-2-241-3385
United Computer Group
45 Albert Street
Abbotsford, Victoria
3067 Australia
Mr. Mike Guttmann
011-61-3-429-3111
Brazil
Matix Com.Imp.e Exp.de Livros
Teen i cos
Roa Jose Dos Santos Jr. #207
CEP 04609
Sao Paulo, Brazil
Mr. Jose DeSouza
011-55-11-241-6264
Canada
Integratech
19 Le Royer #301
Montreal, P.Q.
H2Y 1W4
Canada
Mr. Daniel LaRoeque
514-842-9208
Choreo Systems Inc.
Italy
United Kingdom
28 Monkland Avenue
Top Computer
Xitan Ltd.
Ottawa, Ontario
Via Cavalcavia
27 Salisbury Road
K1S1Y9
55-47023
Totton, Southampton
Canada
Cesena Italia
S04 3HX
Mr. John Lugsdin
Mr. Franco Faberi
England
613-238-1050
011-39-547-22359
Mr. Simon Tracy
011-44-703-871211
France
Norway
Syncrolog S.A.
Data 2000
United States
52-54 Rue des Entrepreneurs
Box 178
Signature Computer Systems
75015 Paris
1371
1634 Thompson Avenue
Mr. Pierre Marcel
Asker, Norway
Glendale, CA
011-33-1-45758054
Mr. Nils Hougen
91201
Germany
011-47-2-78-5848
U.S.A.
Switzerland
Mr. John Nessen
Repas Gmbh
818-241-0619
Voltastrasse #8
Tanver S.A. Engineering
Drieieich 6072
& Data Systems
Unipress Software
West Germany
52, av. d'Ouchy
2025 Lincoln Highway
Mr, Kevin Milton
CH-1006 Lausanne
Edison, NJ
011-49-6103-34032
Switzerland
08817
Mr. Marc Deschamps
U.S.A.
Soft Systems Gmbh
011-021-277527
Mr. Fred Pack
Wilhelm-Leuschner, Str. 255
Technosoftware AG
201-985-8000
D-6103 Griesheim
West Germany
Rothackerstrasse 13
Lamda Micro Systems Inc.
Mr. Peter Geier
CH 5702
Ill John Street
011-49-61-55-62004
Niederlenz, Schweiz
New York, NY
Switzerland
10038
Greece
Mr. Markus Luthard
U.S.A.
Unitech
011-41-64-5190-40
Mr. Dean Kyriakos
255 Singrou Avenue
171 22, Athens
212-349-2432
Greece
Systems Marketing Group
Mr. Tsakiridis
5433 Tree Line Drive
011-30-1-9430632-3
Centerville, VA
22020-1651
U.S.A.
Mr. Larry Olson
703-631-5083
ZANTHE INFORMATION, INC.
1200-38 Antares Drive, Nepean, Ontario K2E 7V2
U.S. 800-267-9972 Canada 613-727-1397
CIRCLE NO. 236 ON READER SERVICE CARD
C(Hnp]ete your Library
of PC Tech Joumal...
... Order those missing issues today!
JULY 87
INTELUGENTGRAPfflCS
PROCESSORS—Unprecedented
sophistication for PC Graphics;
First look at Intel 82786 and
TMS 34010; LAN-Compatible
Applications; Exploiting the
3270 Connection and more!
MAY 87
DATA MANAGERS AND LANS
—Data integrity and multiuser
considerations; COMPAQ
Portable m; TOSHIBA 3100;
Programming EMS Memory;
Synchronizing Graphics Stand¬
ards; Editors as Programming
Tbols; Command-Line Argu¬
ments for FORTRAN; Environ¬
ment Variables; dBUG/EGA;
Saywhat?; Diskit 2 Plus; Dura-
pak; and more!
MARCH 87
DESKPRO 386—Compaq’s
Powerful Entry in the 80386
Sweepstakes; Compatibility
Performance Update; Modula-2
Roundup; Multilevel Debugger;
Binary Thnsfer; Procedural
Algorithms in Prolog; Reper¬
toire; Filemax; Mace Utilities;
Bastoc; What Computers
Cannot Do and more.
JANUARY 87
TOKEN RING NETWORK-
IBM’s Key to Connectivity;
Hard-Disk Cards; Tslevideo’s
Tblecat-286; Data Manager—
IBM DATA and Reports; Mass-
Storage Mergers; Display
Adaptor Bottleneck; Realtime
Systems: A Message-Passing
Executive; Pixel Alignment of
EGA Forms; Generic CADD;
FANSI-CONSOLE; Above Disc
and more.
TE1@H
TOURNAL
Iliilf
TESH
TOURNAL
JUNE87
LAN HARDWARE STANDARDS
—Flexible Specifications for
LAN Hardware; AST’s Pre¬
mium/286; 286 Accelerator
Boards; Data Manager: UNIFY;
State of FORTRAN: RGRAPH,
automating CAD; Drawing
Flexible characters; Batch File
Interaction; MacII Attack;
pcANYWHERE;ZVIEW;
Command Plus; Applied AI and
more!
APRIL 87
dBASEDIALECTS-Three
Compilers support a de fecto
standard; ALR’s Access 386;
Multiuser Solution:CLASSIC;
DOS Exception Handling; A
CADD Workstation; A Resident
Exception Manager for DOS
interrupts 22H and 23H; DOS
moves on the 80386; R-Card;
Ibm. Rettig’s Library; MEGA
and more!
FEBRUARY 87
80386 ARCHITECTURE, Plus
Windows Development Kit;
Accelerators; PC’s Ltd 286;
ASYSTANT-f; Speed Infusion;
Tbken Ring Network Part 11;
Execution Profiles to the PC,
Part H; Vector 87; ADC Model
TD 440; High C; Database
Practicum; Creating Sounds
and more.
DIRECTORY
ISSUE 86
(Volume 4, No. 13) Complete
Editorial Index fix)m Volume 1,
No. 1 to Volume 4, No. 10;
Comprehensive Product Guide
for Hardware and Software for
IBM Standard Personal Com¬
puters; Programmer’s Reference
Assembly Language Pullout
Card; Company Index and
more. Over 640 Pages!
DECEMBER 86— RT PC: Technology, Hard¬
ware and Software; IBM Cabling System; Basic Com¬
pilers; Large Thrbo Pascal Arrays; Reading Locked
Files; The JRAM Family; Programming for AI; Jump
Searching; Locked Lists and more.
NOVEMBER 86-PROLOG ARRIVES Plus 3
Compilers with Power & Speed; LAN GATEWAYS;
Circuit Design from P-CAD; Execution Profiles, The
EGA Spectrum Part 2; UNIX Serial Devices; IBM
Proprinter XL; Draflex 1; Determining Free Disk
Space and more.
OCTOBER 86-EVALUATING THE EGA-
Tbchnology and Implementation; Hewlett-Packard
Vectra; DOS at 5 years; Data Manager; TAS-PLUS;
FORTH Programming; Visible RAM Disk; Dynamic
Memory Management; Computer Law—The Virtues
of Patience; EGA Paint and more.
SEPTEMBER 86-FORTH ARCHITECTURE
AND INNERMOST WORKINGS; Interactive CAD;
Clarion Review; Data Manager: DATABASE; 9 Multi-
Port Boards Reviewed; Creating a Virtual Screen in
Memory; Flicker Free Scrolling; Applied AI; Modula-
2SDS; Modula 2/86 BUS; MIX C and more.
AUGUST 86-OUT FROM THE SHADOW OF
IBM COMPATBBIUTY AND PERFORMANCE ON 286
MACHINES; Compaq DeskPro 286; Nine TYack Thpe
Systems; Animation with Sprites; Using ROM Charac¬
ters; Skteen Color Graphics; Quickcode for 1-2-3;
Let’s C and more.
JULY 86-ANIMATION TECHNIQUES-Optimal
Performance on the CGA; 5251 Emulation; PASCAL
Compilers; Data Manager; METAFILE; Video Func¬
tion Call Fix; XTREE; The Nibbler; Macro Assembler
4.0; KSH-1; Scientific Calculator and more.
JUNE 86-SIX NEW SHAPES OF BASIC-Build-
ing on BASICA; Instant Screens; Data manager:
Knowledgeman/2; iRMX for the PC; Mechanical CAD;
RTDs and Thermocouples; Accessing the Print
Queue; Whitesmith’s C Compiler; Tkke Two; Zim
Release 2.5; BASIC Development System and more.
MAY 86-DIGITIZING ANALOG DATA-Data
Acquisition Boards; Breaking the 32 Megabyte Bar¬
rier; Data Manager: dBASE III Plus; VRTX; Finding
Disk Parameters; The State of C Interpreters; Bit
Rotation Speeds; Matching Regular Expressions; the
Softstrip System and more.
QUANTITIES ARE
LIMITED—ORDER
TODAY!
Don’t let there be a gap in your col¬
lection of expert coverage on applica¬
tions, tutorials and product reviews
from PC TECH JOURNAL. Limited
quantities of back-issues are available.
Please use the attached coupon, and
enclose $7 per issue ($8 per issue for
all foreign and Canadian orders, US
currency only) and remit to:
K. Armstrong
PC Tbch Journal
One Park Avenue—4th Floor
New York, NY 10016
I-1
[ lease send me the following issues of PC TECH JOURNAL. I am enclosing $7 per issue ($8 in Canada and all other foreign
I countries, US currency only).
I □ July 87 □ April 87
I □ June 87 □ March 87
j □ May 87 □ February 87
ENCLOSED IS $_
I NAME_
I ADDRESS_
I CITY_STATE_ZIP
I ORDER YOUR MISSING ISSUES OF PC TECH JOURNAL TODAY!
I_
□ January 87 □ December 86
□ Directory Issue □ November 86
f$7.95 U-SV$9.95 q October 86
Canada and Fbreign)
□ September 86 □ June 86
□ August 86 □ May 86
□ July 86 □ Other
j
'V' ■■ ^■- .■■■.■■
BASIC
JUSTIN GROM
W hen two major software vendors muscle up to the mar¬
ket with a new genre BASIC compiler, the products beg
for a face-to-face comparison. Borland’s Turbo BASIC
and Microsoft’s QuickBASIC offer integrated environments for
entering, changing, compiling, and running programs—much in
the manner pioneered by Borland’s Turbo Pascal. A clear win¬
ner would capture the BASIC market, not to mention enhancing
the already legendary^ programming brilliance and marketing
savvy of the winning product’s company.
Like any good spoiler in prefight preparation, our interest
in the products during beta test period was keen. The opening
salvo was fired by Microsoft in the form of QuickBASIC 2.0.
Borland responded with Turbo BASIC and briefly looked like
the leader. Once QuickBASIC 3.0 emerged, however, a draw
was clearly in the making. In fact, neither is declared the out-
and-out winner of the face-off, but each has strengths and, in
particular environments, is recommended (see table 1 for a
comparison of the features of the two products).
BASIC BASICS
Of the major programming languages, only BASIC traditionally
has been interpreted, not compiled, and thus offers a major
advantage to programmers. Without the intervening steps of
compilation and linking, programmers can enter and test pro¬
grams much faster. Consider, on the other hand, the advantages
of a compiled language over an interpreted one: execution
Pm
Two software titans go head to
head with a new genre of BASIC.
L:4
speed, security of source code, and no need for runtime sup¬
port beyond that provided by an operating system.
The advantages of compilation have been available to
BASIC programmers for some time and are thought to be im¬
proved enough to interest professional programmers. Five such
BASIC compilers have been reviewed in these pages (see “Re¬
considering BASIC,” Marty Franz, December 1986, p. 142). I Iow-
ever, those advantages usually are obtained by giving up the
immediacy, quick turnaround, and. ease of use of an interpreter.
That is now changing. Turbo BASIC and QuickBASIC version 3.0
offer all of the advantages of compilation and, at the same time,
give up very few of the amenities of interpretation.
Borland clearly has modeled Turbo BASIC after its very
successful Turbo Pascal, even improving on that model when
possible. The editor, compiler, and runtime system form a
seamless, integrated environment that is at least as nimble and
responsive as the traditional BASIC interpreter. With its win¬
dowing facilities and point-and-shoot menus, this is an up-to-
date, Turbo Prolog-like implementation—a great improvement
over the somewhat archaic interface of Turbo Pascal. Turbo
BASIC offers support for math coprocessors, program and data
spaces each exceeding 64KB, and creation of stand-alone exe¬
cutable files without the need for a linker. Like Turbo Pascal,
this is the fastest, easiest-to-use implementation of its language.
However, just as Turbo Pascal has limitations, such as not allow¬
ing separate compilation, so does Turbo BASIC.
BASIC FACE-OFF
TABLE 1: Compiler Featiires
BORLAND
MICROSOFT
Product
Turbo BASIC 1.00c
QuickBASIC 3.0
Price
$99
$99
BASIC FEATURES
Required memory
256KB
320KB
Copy protection
O
O
DOS 2.x, 3.x support
•
•
Separate compilation
o
•
Output:
.OBJ
o
•
.EXE
•
•
Needs linking
o
Optional
Needs runtime system
o
Optional
User libraries
o
•
Conversion of MBF numbers
•
•
Use with assembly language
•
•
Programs over 64KB
•
•
Data more than 64KB (see text)
•
•
Distinct string and numeric data spaces
•
O
PROGRAMMING ENVIRONMENT
Full screen editor
•
•
Block commands
•
•
Find, replace
•
•
Case sensitive
•
•
Whole word
•
•
Mouse support
o
•
On-line help
•
•
Context-sensitive
•
o
LANGUAGE FEATURES
Line numbers optional
•
•
Named labels
•
•
Multiline IF ... THEN ... ELSE
•
•
Loop constructs
3
2
Select case
•
•
Recursion
•
O
Length of variable names
No limit
40
DATATYPES
Integer
•
•
Long integer
•
o
Single precision real
•
•
Double precision real
•
•
IEEE format
•
•
String
•
•
Maximum string length
32,767
32,767
Dynamic arrays
•
•
Static arrays
•
•
Dynamic strings
•
•
HARDWARE SUPPORT
8087 math
•
•
8087 emulator option
•
•
Mouse calls
O
•
Light pen
•
•
CGA
•
•
EGA
•
•
VGA
•
o
Sound (PLAY statement)
•
•
9 = Yes 0=No
Both compilers support most of the features of interpreted BASICA, eliminate
many of the interpreter’s limitations, and add some features of their own.
Microsoft’s QuickBASIC is the third
version of this product. In many ways, .
it is a direct response to Borland’s
challenge in the area of compiled
BASIC, but it goes beyond that chal¬
lenge. The new Turbo-like features in¬
clude support for math coprocessors
and the implementation of many struc¬
tured programming constructs. The
beyond-Turbo features include a com¬
petent debugger and the ability to link
object code from separately compiled
modules that are written in Quick¬
BASIC or assembly language.
With a reasonable price of $99, en¬
hancements to the BASIC language, all
of the advantages, and very few disad¬
vantages of compilers. Turbo BASIC
and QuickBASIC offer tlie user an es¬
cape from the limitations imposed by
an interpreter. Both are vastly superior
to the BASICA or GWBASIC usually ob¬
tained with DOS.
BASICA COMPATIBIUTY
Of course, it goes without saying that
the best features of a language are of
little use if they are new and unfamiliar
to the programmer. However, in this
regard. Turbo BASIC and QuickBASIC
are generally compatible with BASICA,
and both fully support the interpreter’s
hardware control features. This in¬
cludes peeking and poking anywhere
in the 1MB address space, reading and
writing I/O ports, and high-level state¬
ments for graphics and sound. Many
BASICA programs can be compiled by
either compiler without changes to the
source code, but others require
changes in order to allow for differ¬
ences between die compilers and the
interpreter. Some differences seem ar¬
bitrary. Turbo BASIC, for example, lim¬
its source code lines to 249 characters,
whereas QuickBASIC and BASICA allow
up to 255 characters.
Another difference is in the imple¬
mentation of program chaining. Both
compilers support only the plain
CHAIN statement, without the DELETE,
MERGE, or line-number options al¬
lowed by the interpreter. Therefore,
when one compiled program chains to
another, the target program always re¬
places the chaining program in mem¬
ory, and execution always begins at the
first statement in die target.
Other incompatibilities arise from
the inherent differences between com¬
pilers and interpreters. For example, a
compiler processes statements in se¬
quential order, so any declarations
such as DEFINT and DIM must physi¬
cally precede die use of the declared
variables. In an interpreter, declarations
138
PC TECH JOURNAL
DELIVERS THESE ESSENTIAL FEATURES
DOES YOUR DBMS?
MDBS III is more powerful than
most mainframe data base management
systems. . . and less expensive. MDBS III
was designed for serious application
developers like you. Like the developers
of Solomon III, the “Number (Dne”
accounting system. And all the others
who demand these essential features
MDBS III provides:
DATA STRUCTURING-So flexible it
captures any data relationship you can
imagine. So comprehensive you’ll design
complex data bases faster than ever.
TRUE MULTI-USER-Few DBMSs give
you as many facilities to guard against
haphazard concurrent data modification
as MDBS III does, down to the locking
of individual data records.
PERFORMANCE-MDBS III gives you
fast data modification and retrieval plus
extensive performance tuning facilities.
DATA INTEGRITY-MDBS III pro
vides airtight integrity assurances. . . from
range checking to transaction-logging to
enforcement of data relationships .. all
automatically.
CIKCI.E NO. 21 I ON KF-ADEK SEUVICE CAKI)
mdbs is a registered trademark and MDBS III is a trademark of Micro Data Base Systems, Inc. IMS is a trademark of IBM; IDMS of Cullinet.
PHYSICAL DATA PROTECTION-
You get automatic recovery from media
as well as from physical data destruction.
DATA SECURITY—Protect your data
using passwords, encryption, and read/
write access down to the field level.
PORTABILITY-MDBS III runs on a
range of mini and micro computers
including LANs, and supports a variety
of host language interfaces.
SUPPORT— mdbs is there when you
need us, with in-depth seminars, tele
phone support, individual consulting
and contract programming to help you
develop and install your applications.
Call us today at 1-800-344-5832 for more
information; in Canada or Indiana, dial
3 1 7-463-2581. Or write mdbs, P.O. Box 248,
Lafayette, IN 47902. TELEX 209147
ISE UR.
BASIC FACE-OFF
must be executed before being used,
but their placement in the source pro¬
gram is immaterial.
Another key difference involves
the use of variables in subcommand
strings for commands such as DRAW
and PLAY. For example, the command
DFtAW ”M = X, = Y”
draws a line from the current point to
the point whose screen coordinates are
given by the values of variables X and
Y. An interpreter can recognize the var¬
iables and find their values because it
maintains a symbol table, or list of vari¬
able names and locations, at runtime. A
compiled program does not have ac¬
cess to the symbol table because the
compiler translates all variable names
to addresses. A compiled program exe¬
cutes faster because it does not have to
look variables up in a symbol table. At
runtime, the program cannot relate the
variable names X and Y to their loca¬
tions in memory. Instead, the VARPTRI
function instructs the compiler to place
the variable’s address, not its name, in
the command string. In compiled
^ Never enter time
and date again.
dCl<K:k n $69.95 Slotless Clock-Calendar
You’ll get right to work without the bother of entering time and date.
dClock II does it for you automatically when you turn on your personal
computer. dClock II does not take up a valuable expansion slot. It
plugs into the back of your floppy disk drive, and can be installed
in less than 5 minutes.
B is with dClock II:
:allation. Comes with floppy disk with
software, easy-to-use installation manual,
ibility with most all personal computers.
lay money back guarantee, 1-year free
To 0^6^(34)788-5198
Actual Size
Yes, please send my dClock 11. I’ve enclosed $69.95 plus $2 for
shipping and handling. Checks or credit cards. No cash please.
Street.
City_State-
Telephone No-Computer,
Charge to my □ Visa □ MC □ American Express
Signature.
Microsync and dClock II are trademarks of Microsync Incorporated,
CIRCLE NO. 180 ON READER SERVICE CARD
BASIC, the above example can be writ¬
ten in eitlier of two ways:
DRAW ”M = ” -L VARPTR$(X) 4- ”, = ”
+ VARPTR$(Y)
or
DRAW ”M = ” 4- STR(INT(X)) 4- ”, = ”
-h STR(INT(Y))
The compiler cannot recognize die use
of variable names in command strings
and automatically replace them with
address references, because the varia¬
bles need not appear directly in a
DRAW or PLAY statement. The example
DRAW statement can be replaced by
DRAW M$, where the variable M$ has
been previously assigned a string such
as “M = X, = Y”. At the time the string
is assigned, the compiler has no way of
knowing that it will be used in a DRAW
statement. Furthermore, the variable
M$ may not even have a value at com¬
pilation time; it may be read in from a
file or otherwise constructed by a pro¬
gram at runtime. Therefore, the rewrit¬
ing of DRAW and PLAY statements is
usually the major effort of converting a
program to run with the compiler.
Besides the issue of source-code
compatibility, the issue of runtime
compatibility must be addressed: will a
compiled program produce the same
results it did when interpreted? Expect
two differences. First, because com¬
piled code executes more quickly, any
time-dependent behavior based on the
execution time of interpreted code will
be different. For example, many BASIC
games run too quickly when compiled.
Second, real numbers calculated witli a
math coprocessor (or a software emu¬
lation using the same IEEE numeric
format) offer more precision tlian the
Microsoft Binary Format (MBF) num¬
bers used by the interpreter. As a re¬
sult, numeric results can be slightly, or
sometimes significantly, different.
In general, however, both source-
level and runtime compatibility be¬
tween the compilers and the inter¬
preter are excellent. Effort spent to
convert a program is more than repaid
by subsequent performance.
LANGUAGE FEATURES
Both compilers provide significant ex¬
tensions to the BASICA language. Some,
like unnumbered lines, named labels,
and structured programming constructs,
are common to both, while others, like
recursion and separate compilation, are
offered only by one or the other. Pro¬
grams taking advantage of the more
advanced features of one compiler are
not likely to be acceptable to the other;
140
PC TECH JOURNAL
of course, most programs written for
either cannot be run with the inter¬
preter. In the following descriptions,
features not specifically mentioned as
implemented in one or the other com¬
piler are common to both.
Program structure. Line numbers are
optional, and numbered and unnum¬
bered lines can be mixed in the same
program. Note that, unlike the line-
number-oriented editor of BASICA, nei¬
ther compiler’s editor treats line num¬
bers in any special way; any duplicate
line numbers are not reported as er¬
rors until compilation, and lines are
not sorted by number upon input. In
addition, renumbering is not sup¬
ported. Turbo BASIC supports the con¬
tinuation of long statements over sev¬
eral lines, but the length must remain
within the 248-character limit.
GOTO and GOSUB statements are
supported, and their targets may be
named labels as well as line numbers.
However, many structured program¬
ming constructs are included that obvi¬
ate the need for these “spaghetti cod¬
ing” techniques. Conditional branching
can be coded using either multiline IF
. . . THEN . . . ELSE or SELECT CASE
statements. In addition to the FOR . . .
NEXT and WHILE . . . WEND loops of
BASICA, DO WHILE and DO UNTIL
loops are supported. The condition for
controlling exit from the loop can be
placed at the top or bottom of the
loop; Turbo BASIC allows two condi¬
tions, one at each end of the loop.
The EXIT statement further re¬
duces the necessity of using GOTOs.
Turbo BASIC implements it whenever
virtually any control structure is left
prematurely: function, subroutine, IF,
SELECT, or loop. QuickBASIC supports
only EXIT FOR and EXIT DO.
Modular programming. To encourage
modular structure, both compilers sup¬
port two types of subprograms: proce¬
dures and functions. Unlike BASICA,
functions can be defined over more
than one line. Variables in a function,
other than the parameters, are global
by default, but can be declared local.
In QuickBASIC, a function’s definition
must precede its invocation; Turbo
BASIC does not impose this restriction.
Procedures are similar to the sub¬
routines invoked by the GOSUB state¬
ment of BASICA, but like functions,
they have names and can be invoked
with argument lists. The implementa¬
tion of procedures in the two compil¬
ers is very similar, but the scoping
rules for variables are different. Turbo
BASIC follows the traditions of the
BASIC language; by default, all variables
are global or known to all subpro¬
grams within the source file. Within a
subprogram, however, variables can be
made private by declaring them LOCAL
or STATIC. Local variables are allocated
at every entr}^ to the subprogram and
deallocated at exit, whereas static varia¬
bles maintain their values between calls
to the subprogram.
In QuickBASIC, variables are local
to each procedure by default, but if
explicitly declared as SHAI^D, their
scope extends to every subprogram
within one source file. Of the two
scoping conventions. Turbo’s is closer
to the way BASIC has always been im¬
plemented and thus may be preferred
by most BASIC programmers who have
been using the language for some time.
On the other hand, those with experi¬
ence with other languages may feel that
Microsoft’s implementation finally
makes BASIC a usable language.
In Turbo BASIC, both functions
and procedures can be used recur¬
sively, which means that a subprogram
can call itself Recursion allows com¬
pact coding of many common numeric
BASIC Programming Tools
There’s nothing basic about these
professional programming utilities.
Whether you’re a seasoned expert or
just starting out, we can help you create
programs that run faster, work harder,
and simply look better. We have built our
reputation on customer satisfaction by
providing expert advice and quality
technical support. All Crescent Software
products include source code, demonstra¬
tion programs, clear documentation, and
a 30-day satisfaction guarantee.
■ QBase is a superb screen designer
and full-featured relational database.
Because we include complete BASIC
source code, QBase can be custom¬
ized to suit your needs. Besides its
database capabilities, QBase is out¬
standing for creating custom titles,
help screens, and product demos,
and includes a versatile slide-show
program. $99
.
QBase Report enhances QBase by
generating reports with multiple levels
of sorting, automatic record updating,
browsing, and transaction posting.
As a special bonus, QBase Report
Includes a complete, ready to run,
time billing application for computer
professionals. $69
I QuickPak contains more than 65
essential routines for BASIC program¬
mers. Included are programs for
windowing, access to DQS and BIQS
services, searching and sorting string
arrays, creating pull-down and Lotus^“
menus, accepting data input, and
much more. QuickPak is loaded with
examples and tutorial information,
and comes with a clever tips and
tricks book, plus The Assembly Tutor
— a complete guide to learning
assembly language from a BASIC
perspective. $69
f By Customer Demand — QuickPak II
More than 30 additional tools, includ¬
ing disk and printer tests to eliminate
the need for Qn Error in your programs,
and a multi-line text input routine that
lets you put a note pad with full word
wrap anywhere on the screen from
within your programs. Qther routines
include binary file access, more menus,
multiple screen save and restore, con¬
tinuous time display, automatic box
drawing, and much more. (Available
for use with QuickBASIC only.] $49
M GraphPak is an extensive collection
of routines for displaying line, bar, and
pie charts automatically within your
programs. It will create 3-D charts
with manual or automatic scaling,
titles and legends in any size or style,
as well as scrolling and windowing in
graphics. GraphPak also comes with a
sophisticated font editor for custom¬
izing your own character sets. $69
CRESCENT
SOFTWARE
64 Fort Point Street, East Norwalk, CT 06855
(203) 846-2500
Separate versions are available for Microsoft
QuickBASIC and Borland Turbo Basic — please
specify when ordering. No royalties, not copy pro¬
tected, of course. We accept Visa, M/C, C.O.D. and
Checks. Add $5 shipping and handling, $10 overnight
and foreign, S25 2nd day foreign.
CIRCLE NO. 144 ON READER SERVICE CARD
SEPTEMBER 1987
141
BASIC FACE-OFF
and data processing problems, but it
comes at the price of complexity and
difficulty in following the program’s
logic. QuickBASIC does not support
recursion, but (paving the way for fu¬
ture implementation) requires that all
current procedures be declared STATIC
or nonrecursive.
Because it supports separate com¬
pilation, QuickBASIC has stronger sup¬
port for modular programming; sub¬
programs can be compiled into sepa¬
rate object files and later linked into an
executable program. Object files can
also be collected into user libraries and
retrieved automatically by the linker as
needed. In Tlirbo BASIC, all subpro¬
grams of a module must be recompiled
when a change is made to any one of
them. This is made somewhat easier by
the faa that subprograms need not
physically reside in the calling main
program file, but can be inserted into
the main program file at compilation
time with INCLUDE statements. Quick¬
BASIC also supports INCLUDE.
Data types, l^pe declarations for nu¬
meric variables follow the BASICA con¬
ventions; they are optional, but can be
made either by a DEE statement or by
a sufiBx on the variable name. TUrbo
BASIC implements real numbers in
IEEE format, QuickBASIC provides both
IEEE and the MBF format used by
B^ICA and previous versions of
QuickBASIC. The differences in format
are significant primarily if a program
reads file data prepared by, or writes
data to a file for, a program that uses
the other format. Otherwise, the only
consideration is that IEEE provides
more precision and therefore can pro¬
duce different results in calculations.
Both compilers provide functions for
converting between formats.
For integer data, Tlirbo BASIC pro¬
vides an extension in the form of a
long integer type, a 4-byte number with
a range from -2^^ to +2^^ (a magni¬
tude of more than 2 billion). Long inte¬
gers are declared by the DEFLNG state¬
ment or by suffixing & (ampersand) to
the variable name. This type can be
used in applications requiring more
accuracy than provided by real num¬
bers, especially without a coprocessor.
Accounting data kept in integer cents
can represent sums of more than $21
million.
Both compilers offer named con¬
stants as an extension to the language.
Tlirbo BASIC allows only integer
named constants, which are declared
by prefixing % to the name. Potential
confusion exists in that integer varia¬
bles have the same character as a suf¬
fix. In QuickBASIC, the CONST state¬
ment can name any constant, including
the string type.
Strings are implemented in the
standard BASIC fashion in these two
packages. All strings are dynamic,
meaning that their size does not need
to be declared. The maximum length
of a string is 32,767 charaaers.
Coprocessor support. By default. Turbo
BASIC creates programs that automati¬
cally use a math coprocessor if one is
present at runtime, or emulate it in
software if not. A compile-time option
is available to turn off generation of
the emulation code for programs that
will run only on machines equipped
with coprocessors. Unfortunately, such
programs crash hard when run on a
system without a processor, requiring a
cold boot to recover.
QuickBASIC offers more options. It
is supplied in two versions: QB without
coprocessor support and QB87 with.
Programs compiled with the QB ver¬
sion use real numbers in MBF format,
perform all calculations in software,
and are forever oblivious to the pres-
Now COBOL Programmers Can Do Formatted
Screens Quickly and Easily - with SCREENIO.
SCREENIO is the Screen Manager for Realia”" COBOL.
SCREENIO is a high-performance, COBOL-specific screen manager for the Personal Computer and compatibles. It’s power¬
ful, offers an impressive array of features, yet is easy to use. SCREENIO was written by experienced COBOL professionals
and represents a truly COBOL approach to screen management on the PC.
Design and Revise Screens Painlessly With Our Panel Editor.
Use our interactive Panel Editor Facility to design your screens with a What%u-See-Is-What-You-Get approach. You can
easily modify and experiment with screen layouts. TVpe titles and descriptive information on the screen, draw lines and
boxes using the cursor movement keys, and paint the colors you want using the cursor keys or block functions. Use all
256 color combinations on your screens.
Define your data fields in COBOL terms; use your own data name, PICTURE and VALUE clauses. Specify the field type
(various alpha and numeric types, hex, etc), valid entries for the field (if you want SCREENIO to edit your data for you),
and various other items. The Panel Editor will produce a copybook that contains this information. P&nel revisions rarely
mean changing your source code.
Programming for SCREENIO is Easy.
■fou can display your screen and accept data with as few as two statements; a COPY txmdname in your WORKING-STORAGE
SECTION, and a CALL SCREENIO statement in the PROCEDURE DIVISION. SCREENIO is linked with your applica¬
tion just as any other COBOL subroutine would be.
SCREENIO takes care of tabbing, data validation, and other functions expected of a good screen manager. When we return
to your COBOL program, the data from the user fields on the screen is in your variables.
Yes, we've always done windows. SCREENIO supports Edit Masks, Automatic Error Detection and Editing, Hi^ Speed
Video, Hot-Relds, Key Redefinition, Foreign Language Capability, Custom Tabbing Order, Color C^ontrol at Runtime, PC
Speaker Control, and much, much more. A BMS Mapset Import is available. Most programmers are amazed at how easy
it is to build flashy applications using SCREENIO and COBOL.
Our Support is Outstanding.
We provide superb telephone support. Upgrades are distributed to licensed users automatically for the first year. There are
no Runtime I^ - the code you develop is yours to distribute freely.
Call us to discuss your application. Get a feel for the kind of quality support we provide.
We^U Send You a Free Demonstration Diskette.
This limited version of our Panel Editor shows how you design panels. Because it’s written with COBOl
it also shows the kind of features and performance you can expect in your applications.
SCREENIO 2.1 is only $400 plus shipping. Save $100 - order SCREENIO and Realia COBOL from
us. We also offer packages wi^ Kedit, a great programming editor. Ask about our other
programming tools, toa
Not satisfied with FORMS*®? Ask about SCREENIO for Micro Focu8”“COBOL
In a hurry? Most orders are delivered within 24 hours!
- Amex MC Visa Check -
INI O F^GO> l\/l
Northern Computing Consultants
RO. Box 020897 • Juneau, Alaska
(907) 780-6464 • TELEX 510 601 4951
CIRCLE NO. 191 ON READER SERVICE CARD
142
PC TECH JOURNAL
ence of a coprocessor. The QB87 ver¬
sion of the compiler runs only on a
system with a coprocessor; if started on
a system without one, it produces an
error message and exits gracefully.
Programs compiled with QB87 run
with or without a math coprocessor,
performing software emulation as nec¬
essary. Emulation is automatic for pro¬
grams that use the QuickBASIC runtime
module, but must be explicitly re¬
quested (by including an object mod¬
ule at link time) for programs linked
into* stand-alone modules. If a Quick¬
BASIC program without the eniulation
module is started on a system without
a coprocessor, it exits with a message,
not a complete crash. Further QB87
options are available to force emulation
even on machines with a coprocessor
and to use MBF instead of IEEE format
for real numbers.
Arrays. Both compilers limit individual
arrays to 64KB, but allow as many nu¬
meric arrays as will fit in memory. Ar¬
rays can be either static (allocated at
compile time) or dynamic (allocated
when the DIM statement is executed at
runtime). Dynamic arrays can be di¬
mensioned with variable sizes or
redimensioned during the course of
execution. The QuickBASIC manual
states that large numeric arrays must
be dynamic, but does not define large.
The limits on static arrays and on static
data are discussed in memory usage
section of this article.
Hirbo BASIC supports arrays with
up to 8 dimensions, while QuickBASIC,
theoretically supports 63. It is not pos¬
sible, however, to have anywhere near
that many and remain within the size
limitation. The total number of ele¬
ments in an array is given by the prod¬
uct of the number of elements on each
dimension. For an integer array, the
limit is 32,768 two-byte elements. With
two elements per dimension (the mini¬
mum useful number), no more than 15
dimensions are allowed, simply be¬
cause 2^^ equals 32,768.
In QuickBASIC, as in BASICA, the
index of the first element can be set
with the OPTION BASE statement to
either 0 or 1; the former is the default.
Turbo BASIC allows setting the mini¬
mum subscript of all arrays to any inte¬
ger value with the OPTION BASE state¬
ment and, as in Pascal, specifying both
lower and upper subscript bounds for
a particular array in the DIM statement.
For example,
DIM Automobiles( 1910:2000)
Both compilers (as well as BASICA)
store array elements in column order.
For example, the element following
A(3,2) in memory is A(4,2). Quick¬
BASIC also has the option of changing
to row order so that the element fol¬
lowing A(3,2) would be A(3,3)-
Files. The compilers provide the stan¬
dard set of BASIC file-handling state¬
ments for performing I/O on random
and sequential files. Record-oriented
I/O is performed as it is in BASICA,
using FIELD statements for specifying
the record layout. Neither language
supports a compound data type for
constructing records or structures.
To the standard capabilities, Quick¬
BASIC adds file- and record-locking
statements that permit shared file ac¬
cess in networked environments. Locks
can be applied to entire files or to a
range of consecutive specified records.
Turbo BASIC adds a binary file
mode that treats a file as a sequence of
bytes. In binary mode, a file pointer
can be positioned at an arbitrary byte
location within the file, and an arbitrary
number of bytes can be read or written
in one I/O operation. Although the
equivalent capabilities can be pro-
SAVE HOURS OF VALUABLE
PROGRAMMING TIME!
A low cost Window Management Library for BASIC
■ Create windows, mouse/kb driven pop-up
and pull-down menus, and powerful data entry
routines quickly and easily.
■ Fast! Written entirely in assembly language
■ Efficient! Uses less than 24K of object code
■ Full mouse interface for Microsoft compatible
mouse:
■ Device independence - Automatically detects
video display.
Comes complete with a library of over 60 functions, a fully-
documented manual, many programming examples, and a demo/
tutorial program to show you how to use each of the functions. All
for only $59. Add $20 for the QuickWindows assembly language
source code.
No royalties are required for using QuickWindows™ in your
programs and not copy protected. 30-day money back guarantee.
For IBM/True compatibles and Microsoft QuickBasic or BASCOM,
DOS 2.0 or later.
Call now for your
FREE demo disk!
401-274-5465
Visa, MC and Phone orders
welcome.
Dealer discounts available.
Kiterpha^m
^ _ INCORPORATED^
5 Bradley Street, Suite 5
Providence, RI02908-2304
CIRCLE NO. 217 ON READER SERVICE CARD
SEPTEMBER 1987
143
BASIC FACE-OFF
grammed with standard random-access
files, this method is both easier to pro¬
gram and more efficient.
Graphics and sound. Borland and
Microsoft compilers both fully support
the graphics and sound capabilities of
BASICA version 3.2, with differences
mandated by the nature of a compiler.
The main difference is the need to re¬
place variables in the command strings
of DRAW and PLAY statements with
VARPTR$ or STR$ functions.
All Color Graphics Adapter (CGA)
and Enhanced Graphics Adapter (EGA)
modes are supported, as well as
screen-control statements for window¬
ing and setting the orientation and log¬
ical dimensions of the on-screen coor¬
dinates. Turbo BASIC offers two Video
Graphics Array (VGA) modes of IBM’s
PS/2 series: SCREEN 11 yields 640-by-
480 graphics with 2 colors; SCREEN 12
is 640-by-480 with 16 colors.
Memory usage. Both compilers free the
user from the BASICA memory restric¬
tion of 64KB for code and data to¬
gether. Although they both advertise
that machine memory is the only size
limitation on programs and data, this
applies only to the final program after
linking together smaller components.
Turbo BASIC restricts to 64KB the
source-code file that can be handled by
the editor. Larger programs can be
compiled by breaking them up into
several files and then collecting them
with $INCLUDE statements for compila¬
tion. If the code generated by the pro¬
gram exceeds 64KB, the programmer
must manually break it up into seg¬
ments of 64KB or fewer by inserting
$SEGMENT statements into the code.
Programs are limited to 16 segments.
Although this is a reasonable limitation,
it puts burden of tracking segment lim¬
its on the programmer and not on the
program (where it belongs).
Hidden away in error messages
(but confirmed by Microsoft technical
support) is the fact that QuickBASIC
also limits the code from one program
module (main or subprogram) to
64KB. This limitation is rarely encoun¬
tered because each subprogram is
placed in its own segment. Segmenta¬
tion is automatic as long as each pro¬
gram module is a reasonable length.
Each compiler manages data space
differently. Turbo BASIC uses at least
three segments, each up to 64KB. One
holds the runtime stack and other data
for the runtime system; the second
holds the program’s scalar data, string
descriptors, and array descriptors; the
third is for the program’s strings (in¬
cluding string arrays). It also allocates
HIGH POWER
WITHOUT THE
HIGH PRICE
Microstat® has been the most popular statistics package for microcomputers since we in¬
troduced it in 1978. In the past two years, Microstat has been requested by name on more
military contracts than any other statistics package. When it comes to coverage, ease of
use, accuracy, and value, Microstat is unbeatable. Just some of it features include:
Data Management Subsystem for file creation and
■ Read external files (e.g., Lotus^
management.
dBasell, ASCII)
Data Transformations
■ Descriptive Statistics
Hypothesis Testing
■ Scatterplots
Three types of ANOVA
■ Correlation Analysis
Simple, Multiple, Stepwise Multiple Regression
■ Time Series
11 Nonparametric Tests
■ 8 Probability Distributions
Factorials, Permutations, Combinations
■ Crosstabs and Chi-Square
Batch or Interactive Operation
■ User’s Manual
Microstat® is
available for MSDOS,
PCDOS, CP/M80,
CP/M86. The price is
$375.00. Multiple copy
discounts and cost-
effective site licenses
are available.
To order, call:
800 - 952-0472
(for orders)
or
317 - 255-6476
(tech, info.)
JniolVIoM
Software Report Card
MICROSTAT
ECOSOFT
Infoworld, March 16,1981.
Functionally
Documentation
Ease of Use
Error Handling
Support
Ecosoft Inc.
6413 N. College Ave.
Indianapolis, IN 46220
each numeric array its own segment,
each up to 64KB, and permits as many
arrays as system memory allows.
QuicldBASIC has one main data
segment shared by the runtime system
(for the stack and other overhead) and
the program (for scalar data, string
space, and static arrays). Only dynamic
numeric arrays are allocated in distinct
segments, as in Turbo BASIC. Thus,
QuickBASIC has no distinct size limits
for total string data and static arrays,
because each depends on the other
and on the total data requirements of
the program.
Assembly language interfiice. The CALL
statement in both compilers permits
calls to assembly language subroutines,
using the same syntax that is used for
calling BASIC subroutines. In Quick¬
BASIC, object code from assembly lan¬
guage procedures can be included at
the link step.
Tbrbo BASIC, however, has no link
step, so calls must be resolved by rou¬
tines within the same source file. An
assembly language routine has the
same header as a BASIC routine (a SUB
statement), but its body consists of one
or more $INLINE statements. As in
Tlirbo Pascal, an {INLINE statement can
contain constants that define bytes of
machine code. As a useful extension,
Tlirbo BASIC also allows the {INLINE
statement to contain the name of a
.COM file from which the code is
loaded at compile time.
EASE OF mSXALLAnON
Neither compiler is copy protected,
and installation requires nothing more
than using DOS commands to copy
appropriate files to a diskette or hard
disk. The instructions are clear and
should pose no problems to users ex¬
perienced enough to use a compiler.
This installation method has two advan¬
tages: first, it holds no surprises with
modified AUTOEXEC.BAT and
CONFIG.SYS files that automated instal¬
lation sometimes produces; second, the
user can allocate files to directories of
choice. Both compilers provide sugges¬
tions users are free to follow or not.
Turbo BASIC is provided on two
diskettes, one of which contains sample
programs. A working system consists of
only the main TB.EXE file and a help
file, which together total fewer than
250KB, so a diskette-only machine is
quite practical for this compiler.
QuickBASIC’s two versions, QB
and QB87, each comes on two dis¬
kettes. A minimum installation consists
of five files (the compiler, linker, run¬
time system, and two link-time librar-
144
CIRCLE NO. 131 ON READER SERVICE CARD
PC TECH JOURNAL
'Eirde Souped
Nantucket.
Real programmers don’t use dBASE. Or do they?
We’re finding that some very swift programmers are using it to
write some very fast applications,
and are completing their
projects much more quickly
But they cheat.
They use our Clipper™
compiler to combine dBASE™
with C and assembler.
With dBASE used like
pseudo-code, they can then quickly create
prototypes that actually run.
Then, with dBASE doing the high-level database functions,
they use our Clipper compiler to link in C or assembly language
modules from their own bag of tricks.
And they’re finding that they’re linking in less than they
expected because Clipper compiled code runs so fast and
because of Clipper’s built-in enhancements.
Clipper includes easy networking that provides file and
record locking the way it should be done.
Fast screens that can be treated as memory variables and
eliminate the need for direct screen writes and all that tortuous
heap management code.
Box commands that make
windowing a breeze. And more.
So if you’d like to use your time
more productively check us out:
Nantucket Corporation,
12555 W Jefferson Boulevard,
Los Angeles, CA 90066.
Or if you’re on deadline, call
(213) 390-7923 today
Clipper could get you out of
the soup.
© Nantucket Corporation 1987 Clipper is a trademark of Nantucket Corporation: dBASE isn't. In Europe: Nantucket Corporation (Europe) 2 Bluecoats Avenue. Fore Street. Hertford. Herts SG14 1PB Telephone 0992 554621.
CIRCLE NO. 224 ON READER SERVICE CARD
BASIC FACE-OFF
The default screen contains four tiled windows, the size,
position, and colors of which can be changed. Pull-down
menus appear when items are chosen from the top line.
Windows are fewer and larger in QuickBASIC, with the win¬
dow for current activity occupying most of the screen.
Only the colors of the editing window can be changed.
ies) totaling about 500KB. In addition,
each has a utility for building user li¬
braries (not the same as the LIB pro¬
gram supplied with other Microsoft lan¬
guages), several object files to support
the assembly language interface, and
some sample programs.
PROGRAMMING ENVIRONMENT
Superficially similar, the two compilers’
programming environments reflect dif¬
ferent designs. Flashy Turbo BASIC has
colorful windows and a blizzard of
pull-down menus. QuickBASIC is more
restrained and even provides the mini¬
malist option of invoking the compiler
from the DOS command line (or a
batch file) without entering the pro¬
gramming environment.
Turbo BASIC’s initial screen has
four windows for editing, compiler
messages, program output, and trace
output (see photo 1). The user makes
selections from the main menu bar
across the top of the screen by typing
the first letter of the command or by
moving a highlight with the arrow keys
and pressing Enter. Upon selection of
most main entrees, pull-down menus
containing additional options appear,
which produce more pull-downs—in
some cases to a depth of four levels.
Turbo BASIC allows changes to the
size and position of any window, and
any or all windows can be zoomed to
occupy the full screen. When all win¬
dows are full-sized, they are shuffled
much like sheets of paper on a desk.
The user can change color settings of
text, backgrounds, and borders in both
windows and menus and save the set¬
tings to disk so that they can be re¬
loaded the next time Turbo BASIC is
started. Several files of settings can be
saved, one of them as the default that
is automatically loaded.
QuickBASIC displays one main
window at time, presenting a less clut¬
tered appearance than Turbo BASIC
(see photo 2). Its Macintosh-like inter¬
face is really designed for use with a
mouse. Mouseless navigation through
this environment can be tedious.
Users select from the main menu
by pointing and clicking the mouse or
by pressing Alt and the first letter of
the function. Most selections produce a
small pull-down menu, which may pro¬
duce a large pop-up window for setting
various options.
The advantage of using a mouse is
especially evident on the* screen that
sets compile-time options. Without a
mouse, selections are made by moving
a highlight through the option fields
with the Tab key; arriving at the de¬
sired option requires tabbing through
all the preceding ones in sequence. In
an effort to speed the process of
mouseless selection, Microsoft has pro¬
vided “shortcut” keys for some func¬
tions. Unfortunately, these key se¬
quences can be difficult to remember,
and once the menu has been pulled
down to where the shortcut keystrokes
are shown, they no longer work.
QuickBASIC provides for changing
the colors of the edit screen, but not of
the pull-down menus or option-setting
screens. It does, however, allow the
user to turn off color totally for use
with a black-and-white monitor that is
connected to a graphics board. With
Turbo BASIC, colors would have to be
turned off individually for each sepa¬
rate screen and menu.
Both Turbo BASIC and Quick¬
BASIC offer on-line help. Turbo’s is the.
nicer of the two, featuring context-
sensitive help with a main directory
and different pop-up screens for vari¬
ous help topics. The QuickBASIC help
feature consists of a single screen sum¬
marizing the keyboard commands.
Editing. The Turbo BASIC editor uses
commands similar to WordStar, Turbo
Pascal, and many other text editors.
This is a great feature for users familiar
with that command structure, but com¬
binations such as Ctrl-K-V for a block
move or Ctrl-Q-A for search and re¬
place functions seem rather arcane to
those accustomed to other text editors.
The key combinations are far from
mnemonic, but they are ergonomically
efficient, so once mastered the editing
operations go quickly. Besides, an in¬
stallation utility allows the user to rede¬
fine the command-key sequences.
QuickBASIC’s editor, like the rest
of that environment, is best used with a
mouse. Scroll bars along the right and
bottom margins of the window allow
quick positioning: pointing halfway
down the vertical scroll bar and click¬
ing the mouse button positions the
screen about halfway down the file.
Marks within the scroll bar indicate the
approximate position of the cursor rel¬
ative to the start of the file.
Mouse-controlled block commands
are especially easy; to define a block
the user presses the mouse button at
the start of the block, scans to the end,
and then releases the button. A pull¬
down menu lists all block functions.
146
PC TECH JOURNAL
ONLYORCHID
GIVES YOU SO
MANYWAYSTO
TURBOCHARGE
PC ENGINES.
With Orchid’s family of turbos, you
can get the performance you bought
a computer for in the first place. Light¬
ning spreadsheet reca/culations. CAD
screens that re^'ewerate in a flash. And
large data bases that sort without
putting you to sleep.
ORCHID'S TURBO FAMILY
TinyTurbo
286
Kturbo
286elOMHz
Jet
386
Host
Computer
PC, XT
PC, XT AT
AT
Reference
Speed
3xXT
6.5 X XT
3xAT
Accelerotor
Type
Reploces
8088
Co-processor
Replaces
80286
CPU
8 MHz
80286
10 MHz
80286
16 MHz
80386
RAM
8K
Cache
lor2MB
EAAS
64K
Cache
IF YOU HAVE AN YOU GET WITH
I 3 X SPEED I -► ! TinyTurbo2^
I 6JXSPEE0 I- .-I PCluibo2e4e I
GEI THE EDITOR'S CHOICE:
TinyTurbo286r
The TinyThrbo 286™ supercharges
your XT to run three times faster. Yet
it’s so small it takes up only half a slot
in your computer. Just two reasons
vfhy PC Magazine named it the
Editor’s Choice.
TinyTlirbo 286 gives you a high level
of compatibility. So you can run soft¬
ware like Lotus and Windows—with EGA
graphics, EMS memory, or networking
cards—at AT speed. You can even go
back to your PC’s regular 8088 chip,
which remains in the system, ^ving
you 100% hardware compatibility.
ADD AWESOME PERFORMANCE:
PCturbo286er
For power users, the front runner
today in accelerators is clearly the
PCturbo 286er It revs up to 6.5 times
faster than an XT, or up to 3 times
AT speed—giving you the world’s
fastest screen I/O. Plus the PCturbo
286e comes factory equipped with 1
Megabyte of fast RAM, expandable
to 2.
The PCturbo 286e is also a power¬
ful tool for developers and systems
integrators. With features like an
optional 10-MHz 80287 math chip, and
coprocessing software for concurrent
foreground/background tasks, the
PCturbo 286e lets you build minicompu-
ter-like performance into standard PCs.
MOVE YOUR AT UP TO 386
HORSEPOWER NOW:
Jet386r
Thke a look today at the price/per¬
formance leader in desktop computing:
the Jet 386r Depending on the applica¬
tion, it’s up to three timesfaster tha.n
an AT. And tunce as fast as some high-
performance minicomputers. Yet you
don’t have to buy an expensive 386-
based computer to get this kind of
horsepower.
More importantly, the Jet 386 uses
next generation technology, the 80386
microprocessor. So you can run all of
the current software for the AT now,
and 386 soft¬
ware too. Add
a Jet 386 to
your AT today,
and you can
extend the
life of your
investment-
fora fi”action
of the cost.
Jet 386:
3 Times
ATSpeed
FROM THE COMPANY
THAT STARTED IT ALL
Orchid introduced the first turbo for
PCs, and has since become the number
one supplier of PC accelerators. For
details on our full line of accelerators,
graphics, networks and multi-function
cards, call (415) 683-0300
today. Or contact your
local dealer.
TinvTurbo 286, PCturbo 286e ond Jet 386 c
trademarks af Orchid Technology. All other
product names are trademarks of their
manufacturers.
ORCHID TECHNOLOGY
45365 NORTHPORT LOOP WEST
FREMONT, CA 94538
(415) 683-0300; TLX 709289.
Tinyliiriio 286:
3 Times
XT Speed
ORCHID
See us at PC Expo
Sept. 1-3, Booth #961
PCturbo 286e:
6.5 Times XT Speed
3xAT 6.5 xXT
3xXT
CIRCLE NO
BASIC FACE-OFF
Basic does Database
igernGfit tasks
kSmSSs”
N w comWn® *lw
or your CllOntS.
db/LIB replaces Basic’s hard-coded file handling (Open, Close, Get,
Put, LSet, Field As) with powerful Relational Database Management
routines which let you:
• create relational file structures • have up to 24 DBF or NDX files open
• access fields by field name or number • manage over 4 billion bytes per file
• Index on one or many key fields • write programs to interface directly
• find all records that match a key with dBASE III applications
All the power you need to tackle any job!
^b/LIB calls look like this:
• CALL GetREC (file%, status%, record#, recdata$)
—► returns into recdata$ the data from record# of the file file%;
—►status% shows successful completion.
Some other db/LIB routines:
• OpenDBFQ Creates or opens Datafile • AddKEYQ Puts a key into Index
• DefineSTRQ Defines data structure • GetKEYQ Finds a record based on key
• PutRECO Writes a record to disk • DeleteKEYQ Deletes a key from Index
• OpenNDXO Creates or opens Index file
db/LIB routines are called directly from BASIC
• Links with BCOM or BRUN modules
• Conforms to the QuickBASIC standard CALLing convention
^ou already know how to use It!
gb/LIB makes you more productive by:
^ • letting your programs work on any • employing dynamic string allocation
datafile • assisting in conversion of BASIC
• finding on partial keys, or next, prior data files to db/LIB’s DBF format
• finding records in large files In seconds • maintaining unique key, and ‘deleted’
• configuring the pool segment for status
target machine • trapping and diagnosing error
• managing Internal file buffers conditions
db/LIB takes your BASIC application seriously!
hi
^db/LIB utilizes the dBASE III file format, a recognized standard.
• db/LIB is written to the highest specifications to assure top performance.
• Full Documentation and on-disk code are the building blocks of a DBMS.
• System Requirements: QuickBASIC 2.01, 3.0; DOS 2.0+; 256K memory
Put our experience to work for you!
ONLY
If database management is one of your basic
needs, then db/LIB should be your next call.
db/LIB will perform as described oryour money
back.
AJS PUBLISHING, INC
RO Box 379
North Hollywood, CA 91603
(800) 992-3383
In California Call
(818) 985-3383
9:00 am - 5:00 pm
Pacific Time
VISA, MasterCard Accepted
db/LIB is a trademark of AJS Publishing, Inc.
Microsolt is a trademark ol Microsoft Corp.
dBASE III is a registered trademark ol AshtonTate
'Professionals In Software'
The process becomes more difficult
and time-consuming if the block
crosses screen boundaries, because the
text must scroll until the end of the
block enters the window. Search and
replace commands are easily made by
using the mouse cursor or cursor keys
to select prompts on pull-down menus.
When running QuickBASIC without
a mouse, the user selects text with a
combination of Shift and arrow keys. A
block that stretches over screen bound¬
aries can be selected quickly with the
Shift and PgUp and PgDn keys. Once
the text is selected, the same edit
menu used with the mouse is invoked
by pressing Alt-E and moving through
the menu with arrow keys. Even if a
mouse is present, some operations can
be performed more quickly with the
key combinations.
The assignment of editor functions
to shifted arrow keys could be a minor
annoyance to users accustomed to
using the Shift key to reverse tempo¬
rarily the numeric state of the keypad.
With NumLock off, pressing Shift-Up-
Arrow does not type the digit 8, but
instead selects a block of text.
In comparing the two editors.
Turbo BASIC provides the added con¬
venience of a status line that indicates
not only the name of the file being
edited but also the line and column
numbers of the current cursor position.
Witliout this information, the Quick¬
BASIC user often flies blind.
Although both the Turbo BASIC
and QuickBASIC editors are competent
and offer a reasonably complete set of
editing features, they lack some fea¬
tures of more advanced text editors.
Neither editor can handle more than
one file at a time, nor can it split the
edit window so that different parts of
the same file can be examined simulta¬
neously. In addition, neither supports
macros or wild-card search patterns.
However, bodi editors produce straight
ASCII text, so an external text editor or
word processor can be used when
such advanced features are required.
Filing. File-management options pro¬
vided in both environments allow load¬
ing and saving files, printing source-
code listings, and popping out to the
shell to DOS. Once in DOS, nothing
prevents the user from starting another
copy of the compiler, but subsequent
copies might be crippled by shortage
of memory. Turbo BASIC has com¬
mands to change directories and to get
directory information from within the
compiler environment; QuickBASIC
requires shelling to DOS to perform
these functions.
148
PC TECH JOURNAL
■ I
At PC Magazine, we know how
tough it is for you to sort out product
claims, specifications and perform¬
ance questions. It’s not easy find¬
ing out what’s new, better, faster,
quieter, cheaper, more compatible
or more expandable.
That’s why we ’re here. And why
your subscription to PC Magazine is
the best way to stay on top of it all.
Twenty-two times a year, our edi¬
tors and columnists keep you fully
informed about what you can expect
from PC products—and which are
best for the business tasks you have
to accomplish. And every time you
need help solving applications prob¬
lems, we’re there to back you up.
The most experienced and sought-
after editorial staff in the industry.
Their credentials, plus the results of
rigorous product testing that takes
place in PC Labs—the only indepen¬
dent state-of-the-art testing facUity in
computer publishing^—are your
assurance that PC Magazine gives
you all the facts.
Issue after issue is devoted to helping
you buy PC products for your busi¬
ness with confidence and to making
sure that maximum benefits are
derived from that investment.
Whether you need to link your micro
to a mainframe, evaluate graphics
packages or upgrade your printers,
we’re here to help you do it all.
Subscribe today. Save up to
62% o£f the annual sin^e-copy
price of PC Magazine during
our special introductory offer!
One year (22 issues) only
$ 29 . 97 —Save 54 %
Two years (44 issues) only
$ 49 . 97 —Save 62%
Savings based on annual single¬
copy price of $64.90. For fast
service call 1-800-852-5200
Toll Free. szhc
PC/Forms takes the hassle out
of screen design, screen
management, and Input data
validation.
> Forms are created and maintain¬
ed using a form editor; loaded
and processed at runtime via
the PC/Forms run time library.
> This Is not a code generator.
There Is no memory resident
form manager.
• Forms can be from i to 10
screens in length.
> Form dimensions are adjustable
(for windowing).
^rm Editor Features
• Full control over foreground & background video
attributes
• Access to the extended (graphics) character set.
• Line and box drawing.
• Define and modify field attributes:
-Field Name -Field Order -Edit Mask
-Default —Auto Tab —Must Respond
-Numeric Test -Right Justify -Echo Data
—Display Only -upper Case —Warning Only
-Test Range -Data Type -Numeric Percision
• Test form utility.
• Generate program shell utility.
• Field reorder utility.
• Temporary exit to DOS.
jn Time Library
• Routines are color (CCA, EGA, VGA) /
monochrome independent.
• Forms are processed in dynamic memory.
» User written validation routines can be linked
to fields.
• String, Byte. Integer, and Real data types sup¬
ported.
• Full keyboard support.
• Run time library source code includes:
-load_form( ) -clear fom^buffert ) •get_fieia< )
•releaie_form< ) -putJfiekxT ■Qet_form( )
-disolay_form( ) -put fomK ) -alter_field_attrib( )
-save context! ) -restore context! ) -get field attriW )
/stem Requirements for
PC/Forms version i.i
* IBM PC/XT/AT/PS2 or compatible w/256k usuable
memory
* PC-DOS or MS-DOS version 2.0 or later.
* TURBO Pascal version 3.0 or later.
jming soon
* TURBO C and BASIC compatiability
* MICROSOFT C. BASIC, and Pascal compatability.
introductory price $79.95,
Demo disk avaiiabie
(800) 338-6754
(US)
(216) 292-0224
(OHIO)
P.O. BOX 22216 • BeachWOOd.OH 44122
Golden
S O FTWA R E
BASIC FACE-OFF
TABLE 2: CompilaHon Optiom
BORLAND
MICROSOFT
Array allocation method
$meta
$meta
Array bound checking
Menu
Always
Array element ordering
N/A
Menu
Code segmentation control
$meta
N/A
Communications buffer size
$meta
/param
Compilation output control
Menu
Menu
Conditional compilation
$meta
N/A
Debug mode
Menu
Menu
Event trapping
$meta
Menu
Include source file
$meta
$meta
In-line assembly code
$meta
N/A
Optimization control
N/A
Menu
Overflow checking
Menu
Always
Sound buffer size
$meta
N/A
Stack size
$meta
N/A
Smeta = Metastatement within program
iparam = Command-line parameter at startup
Menu - Set on menu prior to compilation
Always = Not an option; cannot be turned off
N/A = Not available
Features of the compiler can be controlled by choosing menu options, inserting
control statements into the program, or specifying command-line parameters.
Wlien loading files, both compilers
present an alphabetized list of all *.BAS
hie names that are present in the cur¬
rent directory. Both the file template
and the directory can be changed to
display a different list or to limit it to a
subset of files. In Turbo BASIC die di¬
rectory from which a file is loaded is
redisplayed the next time the file-
control screen is invoked; in Quick¬
BASIC the file-control screen always
reverts to the default directory.
Once a list of files is displayed,
typing the first letter of a file name
moves the selection bar to the first file
in the list starting with that letter. In
QuickBASIC, repeated typing of die
first letter advances the selection bar to
the subsequent file names beginning
with diat letter. In Turbo BASIC, arrow
keys are used for this purpose.
Turbo BASIC’s file menu contains
a SAVE option that can be dangerous:
Turbo will, immediately and without
verification, save the program from the
editor under the name given when the
program was loaded. To save a pro¬
gram under a new name without delet¬
ing the original requires a WRITE TO
rather than a SAVE command. WRITE
TO also warns that an existing file is
about to be overwritten.
The SAVE command of Quick¬
BASIC’s file-control menu prompts with
the name of the last file loaded and
permits the name to be changed, but
gives no warning if SAVE is about to
overwrite an existing file.
Compiling. In general, more options
make a compiler more flexible and
powerful, but some, like the
ISEGMENT directive of Turbo BASIC,
can hardly be considered desirable
because they force the user to perform
functions (keep track of segment sizes,
for example) that the compiler should
do for itself. Most options are con¬
trolled either by choosing them from a
compile-time menu or by placing di¬
rectives (also called ^netastatements) in
the code. T>^ically, the former is used
for options that apply throughout a
program; the latter for those that might
apply to only a portion. The options
that control the compilation process for
both compilers are listed in table 2.
One interesting difference between
the compilers is the way each requests
the generation of event-trapping code
to process ON KEY and ON ERROR
statements. In Turbo BASIC, this is
done by the $EVENT directive in the
program. Not only can this localize
such code (which exacts a penalty both
in program size and execution speed)
to the sections where it is needed, but
more importantly it lets the program
notify the compiler of the need for
event trapping. In QuickBASIC, tlie
user must specify tliis need by choos¬
ing from a menu; if he forgets, the pro¬
gram does not compile.
Because Turbo BASIC does not
support separate compilation, all com¬
ponents of a program must be present
at compile time. It does not need a
CIRCLE NO. 109 ON READER SERVICE CARD
150
PC TECH JOURNAL
Next to IBM, I^radise makes more
video controllers than an)i)ody.
Quiedy, without a lot of fanfare, Paradise has sold more than 1,000,000 PC video controllers.
Becoming the world’s largest supplier of personal computer video cards and video controller chip sets
f\
outside of IBMf In the process, we’ve built a record
excellence that’s second to none. We’ve introduced innovations
of reliability and technical
like AutoSwitching'^ and
Automatic Monitor Detection™ Pushed the resolution of IBM’s graphic standards to new heights. Supported the most popu¬
lar software applications. And created a product line-up that offers price and performance options designed to meet every
PC video need. From 480 line resolution EGA Cards to Basic Video
Cards for your monochrome systems. That’s why a lot of major computer
manufacturers sell Paradise products with their systems. And why you should look for our name when you’re ready for
your next video card. We’re Paradise, The Personal Computer Video Company. And we make more video controllers
than anybody next to IBM. Call 415-871-4939 for the name of your nearest dealer.
PARADISE
Paradise Systems, Inc. 217 East Grand Avenue South San Francisco, CA 94080 AiUoSwitch is a ti ademark of Paradise Systems, Inc. IBM®is a registered
trademark of International Business Machines Corporation. Copyright ©1987, Paradise Systems, Inc.
CIRCLE 230 ON READER SERVICE CARD
BASIC FACE-OFF
A Different BASIC Might
Make All the Difference
We’ll skip the four-color gatefold. And the extravagant claims.
Because if you’re serious about programming, you just want the straight facts:
Thie
BASIC
2.01
Microsoft
Quick Basic
3.0
Borland
T\irbo Basic
2.0
Supports Hercules Graphics
YES
NO
NO
Device-Independent Graphics Syntax
YES
NO
NO
User-Defined Coordinates
YES
LIMITED
LIMITED
Matrix Graphics Coordinates
YES
NO
NO
Matrix Algebra
YES
NO
NO
Maximum Numeric Array
UNLIMITED
64K
64K
Max. Number of Array Dimensions
255
63
8
Max. Number of Elements/Dimension
UNLIMITED
32K
32K
Dynamic Redimensioning
YES
NO
NO
Matrix I/O Statements
YES
NO
NO
Maximum String Length
64K
32K
32K
Total String Space
UNLINOTED
64K
64K
Maximum Record Size
16MB
32K
32K
Max. Bytes/Binary File Read
64K
NA
32K
Modules
YES
NO
NO
Separately Compiled Libraries
YES
LIMITED
NO
Workspaces
YES
NO
NO
Immediate Mode
YES
NO
NO
Stop/Continue Execution
YES
NO
NO
Max. Source File
UNLIMITED
UNLIMITED
64K
Script Files
YES
NO
NO
Keystroke Macros
YES
NO
NO
Max. Characters/Line
64K
255 char.
249 char.
Max. Scalar Data Space
UNLIMITED
64K
64K
Mouse Support
YES
NO
NO
80386 Version
YES
NO
NO
Portability to:
Macintosh,
Amiga, Atari
Translation
required
No other
machines
Three very structured, very powerful programming packages. All
with fancy editors and fast compilers. Two of them are the same in
other respects. And one of them. True BASIC, is quite a bit
different. With syntax and features that will make you more productive.
That’s why reviewers for magazines like BYTE, PC Tech Journal and
Computerworld keep giving True BASIC their top
marks. And why OEMs pick True BASIC after
they’ve evaluated all the others. See why True
BASIC can make the difference for you.
Call 1-800-TRBASIC today.
39 SOUTH MAIN STREET
HANOVER, N.H. 03755
(603) 643-3882
CIRCLE NO. 207 ON READER SERVICE CARD
BASIC
True BASIC, Quick Basic and Turbo Basic are trademarks of True BASIC, Inc, Microsoft
and Borland, respectively. Macintosh, Amiga and Atari are trademarks of Apple Computer,
Inc., Commodore-Amiga, Inc. and Atari Corporation. Copyright 1987 True BASIC.
Specifications are accurate as of August 1987.
linker to resolve the references to vari¬
ous subprograms and can directly com¬
pile executable code, which can be
placed either in memorv^ for immediate
execution or in a .EXE file on disk for
subsequent execution from DOS.
QuickBASIC can also compile di¬
rectly to executable code either in
memon^ or in an .EXE file, provided
that all subprograms are either in the
same source file or available in a user
object librar>^ Alternatively, the output
can be one of two kinds of object
(.OBJ) file for subsequent linking, pos¬
sibly with other objects from other
compilations, into an .EXE file.
The ease of finding and correcting
compile-time errors is a major advan¬
tage of an integrated compiler environ¬
ment. In this regard, QuickBASIC has
the advantage. The QuickBASIC com¬
piler remembers up to 26 errors (the
manual says 25) from each compilation.
After an unsuccessful compilation, the
editor positions the cursor at the first
error detected, and a NEXT Eld^OR
command is used to proceed to each
one in sequence. This represents a
substantial gain in efficiency over Tur¬
bo’s one-error-at-a-time approach.
When the Turbo BASIC compiler de¬
tects an error, it automatically invokes
the editor and positions the cursor at
the perceived cause of error. After each
error is corrected, the program must
be recompiled until it encounters the
next error. Many errors require consid¬
erable time to correct.
The QuickBASIC compiler can be
invoked noninteractively from the DOS
prompt or from a batch file. Most of
the options controlled by the compile¬
time menu can be set by command-line
parameters. Error messages are dis¬
played on the screen, but they can be
redirected to the printer or a disk file.
Debugging. The debugging facilities of
Turbo BASIC are hardly more advanced
than those of BASICA, and seem at
odds with the otherwise advanced fea¬
tures of the environment. Debugging is
turned on either by a TRON statement
in the source code or by choosing the
TRACE ON option prior to compilation.
The trace window displays the line
numbers, labels, procedure, and func¬
tion names as execution passes tlirough
them. Function keys allow toggling be¬
tween continuous or single-step execu¬
tion. Breakpoints cannot be set.
Debugging a graphics program in
Turbo BASIC is all but impossible.
Trace output jumps too readily from
the confines of the trace window and
writes all over the graphics screen,
causing it scroll. The result is a chaotic
152
PC TECH JOURNAL
PG-1281 virtually redefines “high performance”.
With this new Matrox color display processor
at the heart of an IBM PC AT, 386 PC, or com¬
patible, a true professional workstation is born.
Enhanced by four custom gate arrays, the
PC-1281 is the fastest TMS34010-based
board in the world today... and you have all the
power of high-priced workstations at a fraction
of the price!
■1280 X 1024 resolution ■ Full 64-bit band¬
width ■ 65,000 vectors/second ■ 100 million
bits/second BITBLT ■ Up to 1.5Mb on-board
RAM ■ Downloadable user code for easy appli¬
cation development ■ Optimized drivers for
major CAD packages ■ Compatibility with all
current graphics standards: Windows, X Windows,
CCA, VDI, PGA, and more... ■ Optional high¬
speed 3D coprocessor and EGA/VGA add-on
modules.
If you need the best graphics performance
available today, you need the PG-1281.
For more details call us - fast!
In Canada, call (514) 685-2630. IBM and IBM AT are registered trademarks of International Business Machines Corporation.
Windows is a trademark of Microsoft Corporation. 12B1- PCT
CIRCLE NO. 161 ON READER SERVICE CARD
BASIC FACE-OFF
Canon introduces
More easy-to-use features.
More expandability.
More fonts and memory for graphics.
More paper handling capability.
LASER BEAM PRINTER
B Enjoy easy extended payments with the Canon Credit Card
Ask for details at participating Canon dealers and retailers
Available only in U.S.
Canon U.S.A., Inc., Printer Division, One Canon Plaza, Lake Success, NY 11042. © 1987 Canon U.S.A., Inc.
CIRCLE NO. 234 ON READER SERVICE CARD
MORE.
jumble of painted areas, lines, and
trace labels that defies deciphering.
When a runtime error occurs.
Turbo BASIC reports the type of error
and the value in the processor’s pro¬
gram counter. If the program is run¬
ning from memory, its source code is
displayed in the editor and the cursor
is placed on the statement causing the
error. However, if an error is encoun¬
tered in a stand-alone .EXE file, the
source file is not available, and the edi¬
tor is not in memory^ In that case, the
user can load the source file into the
Turbo editor, turn on the runtime
error option, and enter the program
counter value from the error message.
After the next compilation the cursor is
placed at the point in the source code
corresponding to the counter.
Compared to Turbo BASIC, the
debugging provisions of QuickBASIC
are excellent. When a program is exe¬
cuted with the debug option, a vari¬
able-sized window displays the source
code with a highlight on the line about
to be executed. The bar can then be
stepped through the source code singly
or continuously to provide a clear idea
of the path taken during execution. The
tracing either can be restricted to the
main line of the program or can follow
all paths through subroutines and func¬
tions. The window may obscure part of
any graphics screen, but is always kept
separate so the trace can be followed.
Because the stepping procedure is
time consuming, QuickBASIC allows up
to eight breakpoints in the source code
to avoid having to step through error-
free code. Execution can proceed at
high speed until a breakpoint is en¬
countered and the stepping procedure
can be resumed.
The value of one variable can be
watched while stepping through execu¬
tion without including PRINT state¬
ments in the source code. A new watch
variable can be named at a breakpoint,
and it is displayed immediately when
named, so although only one variable
can be watched while executing, any
number can be examined in turn while
execution is suspended.
On an EGA system, QuickBASIC
uses the 43-line mode to excellent ad¬
vantage while debugging. For programs
that operate in text mode, the top 24
lines can be set to display a full screen
of output, with the remaining 19 lines
used for scrolling the source code
while debugging.
Linking. QuickBASIC allows separate
compilation, an advantage for serious
development work. The price for this
flexibility is an extra link step to collect
the separately compiled object modules
into one executable file. The link pro¬
cess can be performed in one of two
ways. The first collects into the execut¬
able file only the separately compiled
modules, not any of the standard sup¬
port routines from the library. The re¬
sulting .EXE file can be executed only
in the presence of a runtime library
called BRUN.EXE or BRUN8087.EXE
with coprocessor support. The second
method incorporates the necessary li-
brar)^ routines into the program’s .EXE
file so that it can be executed without
any runtime support. The type of .EXE
file depends on the type of object files
created at the compilation step.
Each type of .EXE file has its own
advantages. The BRUN-module variety
is significantly smaller and especially
useful when storing several Quick¬
BASIC executables on one disk. Instead
of being replicated in every program,
the support library^ is present only
once. On the other hand, regardless of
how many of its routines are actually
needed, the whole support library is
loaded when die program is executed,
extending the load time and using up
more memory^ Also, if the BRUN file is
not found in any directory on the path,
the user must enter its location. Inex¬
perienced end users should not be
expected to keep track of files seem¬
ingly unrelated to their application.
The linker supplied with Quick¬
BASIC is the one that comes with all
Microsoft languages. It is functionally
the same, although more recent than
the LINK program supplied with all
PC-DOS versions through 3.2. Linking
can seem like a fairly complex process
for the inexperienced, especially be¬
cause it requires leaving the friendly
confines of the QuickBASIC environ¬
ment. Poor documentation, consisting
of a scant one page of text without ex¬
amples, does not help the situation.
Only the command-line method of in¬
voking the linker is given, and that
mediod is easily prone to user errors.
For example, placing an input file
name where the linker expects an out¬
put file will overwrite the file. The
manual does not mention that the
linker can either prompt for files one
by one or read a list of file names
from a response file. More complete
documentation on LINK is available in
the DOS manual, except for DOS 3.3
where it was moved to the Technical
Reference, which costs almost as much
as QuickBASIC. Microsoft could vastly
improve this phase of the development
process by incorporating the link step
into the compiler’s environment.
154
PC TECH JOURNAL
Canon introduces
Less cost to buy and use.
Less maintenance.
Less hassle replacing toner cartridges.
Best of all, less wait—Canon quality product available now.
LASER BEAM PRINTER
Printouts that stand out.
For more information, call 1-800-453-3307. In Utah, 1-800-662-2500.
CIRCLE NO. 234 ON READER SERVICE CARD
LESS.
COMPARING PERFORMANCE
Performance of the compilers was mea¬
sured with a set of eight programs,
four of which (SIEVE, MULDIV, HAT,
and FILEIO) were used previously in a
review of BASIC interpreters (“Six New
Shapes of BASIC,” Ted Mirecki, June
1986, p. 52). In order to provide better
timing resolution at the higher speeds
that can be achieved by compiled pro¬
grams, the SIEVE and MULDIV pro¬
grams were modified to increase the
number of iterations.
Two new programs were devised
to test the display speed in both text
and graphics, modes. SCRNTEST.BAS
(see listing 1) uses the PRINT statement
to fill the screen with text. The text is a
string, so no time is spent converting
numbers to characters. Correcting for
the time taken to increment and test
loop indexes did not materially affect
the results. DRAWTESTBAS (see listing
2) tests the speed of graphics using the
DRAW statement. The design drawn is
adapted from an example that appears
in the IBM BASICA manual. Here, the
overhead of the loops is subtracted
from the drawing time. This test is a
better indication of tlie graphics speed
than the HAT program, because HAT
spends more time calculating trigono¬
metric functions than it does in the ac¬
tual drawing process.
The SAVAGE.BAS benchmark (list¬
ing 3) tests execution speed and nu¬
meric accuracy of certain transcenden¬
tal functions. It was adapted from the
program published in BYTE (vol. 10,
no, 11, 1986, p. 67). The last program,
BIGTEST, was concocted specifically for
testing compilation speed on large pro¬
grams; it is described below.
All tests were run on an 8-MHz AT
with 640KB of memory, an 80287 math
coprocessor, and an IBM 30MB hard
disk. Compiler options were set to pro¬
duce maximum execution speed: de¬
bugging, event trapping, and error
checking (array bounds, overflow)
turned off and coprocessor emulation
not included. The programs would not
run on a system without a coprocessor.
The results are listed in table 3. In
most of the compute-intensive tests
(MULDIV, SIEVE, HAT), QuickBASIC is
ahead by a small margin, but not
enough to be noticeable without mea¬
surement. Turbo BASIC is 38-percent
faster in the SAVAGE test, which bor¬
ders on the significant. Turbo BASIC
also has a slight but inconsequential
advantage in graphics. The significant
difference shows up in text display (the
SCRNTEST program), where Turbo
BASIC is faster bv a factor of more than
10. Otherwise, no clear winner really
emerges on execution speed.
Turbo BASIC produces .EXE files
that are significantly smaller (by 20 to
35 percent) than the stand-alone files
of QuickBASIC. However, QuickBASIC
can produce files about 90-percent
smaller for execution with a runtime
system. Although an application consist¬
ing of one program can be smaller in
Turbo BASIC than in QuickBASIC, the
situation can be reversed when multi¬
ple programs are required. For exam¬
ple, the total size of the first seven
Turbo programs listed in table 3 is
168KB, while the smaller QuickBASIC
versions plus the runtime library
(BRUN8087.EXE, 76KB) total 101KB.
These small benchmark files com¬
piled so quickly that accurate mea¬
surements of compilation speed were
impossible. Instead, a large program,
BIGTEST.BAS, was constructed solely
for this purpose:
A = 0
A = A -I 1
(above line repeated 2,000 times)
PRINT A
The times for compiling this program
to memory, to a .EXE file on disk, and
(for Quicl^ASIC only) to a .OBJ file
are listed in table 3. Turbo BASIC is
clearly superior here, by a factor of
two. For both compilers, the difference
between compiling to memor^^ and to a
file are not significant. QuickBASIC
takes slightly longer to produce a .OBJ
file than a .EXE file, because object
code is written to disk piecemeal
throughout the compilation process,
while the .EXE file is constructed in
memory and written out all at once.
QuickBASIC’s inability to compile
a large file properly was one of the
biggest problems encountered during
testing. To test the limits of the compil¬
ers with large programs, the BIGTEST
program was expanded by replicating
the line A = A + 1 several thousand
times. With debugging options turned
off, QuickBASIC generated the error
message “expression too complex” for
line 426, even though that line was
exactly the same as the preceding 424
lines, which compiled correctly. With
the debug option, QuickBASIC could
compile a program of about 2,600
lines; larger files produced the message
“critical error: compiler out of mem¬
ory.” Although nonsense, the program
is syntactically correct and should com¬
pile without difficulty. Turbo BASIC
handled up to 4,335 lines before gen¬
erating a full 64KB segment of code,
and it could generate even larger pro-
SEPTEMBER 1987
155
BASIC FACE-OFF
TABLE 3: Compiler PcrfoniuDice
QuickBASIC’s slightly faster execution is barely noticeable in practice, while
Turbo BASIC’s compilation speed is definitely noticeable on longer programs.
SQL Compatible Query System adaptable to any
operating environment.
CQL Query System. A subset of the Structured
English Query Language (SEQUEL, or SQL)
developed by IBM. Linked files, stored views,
and nested queries result in a complete query
capability. File system interaction isolated in an
interface module. Extensive documentation
guides user development of interfaces to other
record oriented file handlers.
Portable Application Support System
Portable Windowing System. Hardware
independent windowing system with borders,
attributes, horizontal and vertical scrolling.
User can construct interface file for any
hardware. Interfaces provided for PC/XT/AT
(screen memory interface and BIOS only
interface). MS-DOS generic (using ANSI.SYS),
Xenix (both with and without using the curses
interface), and C-library (no attributes).
Screen I/O. Report, and Form Generation
Systems. Field level interface between
application programs, the Query System, and
the file system. Complete input/output
formatting and control, automatic scrolling on
screens and automatic pagination on forms,
process intervention points. Seven field types:
8-bit unsigned binary. 16 bit signed binary. 16
bit unsigned binary. 32 bit signed binary,
monetary (based on 32 bit binary), string, and
date.
Including Source Code
$395.00
File System interfaces include
C-tree and BTRIEVE.
HARDWARE AND FILE SYSTEM
INDEPENDENT
Machine
Independent
Software
1415N0RTHGATE SQ. #21B
RESTON, VA 22090
VISA/Master Charge accepted
(703) 435-0413
*C-tree is a trademark of FairCom
IBM. SEQUEL. PC. XT. AT are trademarks of IBM Corp,
MS-DOS and Xenix are trademarks of Microsoft Corp.
CQL and the CQL Logo are trademarks of Kurtzberg Coiriputer
Systems.
CIRCLE NO. 148 ON READER SERVICE CARD
grams if $SEGMENT statements were
inserted in the source code.
Microsoft technical support had no
answer to this problem, at first ascrib¬
ing it to the 64KB limitation for code
segments. The solution suggested was
to replace the straight-line code se¬
quence with a loop, but that did not
address the reason for the failure.
The MULDIV test in QuickBASIC
generated no error, while Turbo’s
error was an insignificant 10'^^. In the
SAVAGE test, on die other hand, both
Turbo BASIC and QuickBASIC produce
the correct result of 25,000, even with
single-precision numbers.
The SAVAGE program is especially
good at showing the math copro¬
cessor’s effects on speed and accuracy.
Running the test in software emulation
mode (using IEEE format numbers)
produced no error but took more than
8 minutes, compared with 36 seconds
with the coprocessor. Using numbers
in MBF format, QuickBASIC version 2.0
took 106 seconds and generated an
error of 80 percent; interpreted BASICA
ran 6y2 minutes and managed to pro¬
duce the identical error.
Turbo BASIC does have the annoy¬
ance of printing more digits than it has
bits in representing the number. For
example, the command
PI = 3.14159
Print PI
gives die answer of 3.141590118408203.
Using double-precision variables yields
the correct answer.
SUPPORT—OR LACK OF IT
In the course of testing for this review,
I placed calls to both Borland and
Microsoft to inquire about various
156
PC TECH JOURNAL
Ho Zoom Required 1
It’s all available, as you need it -
INSTANTLY!
Over 5 times more information is instantly
available in the 2048 x 2048 frame buffer than in
any other standard high-res graphics board; up to
20 times more than your standard EGA. Just pan
freely in real time over the entire drawing area.
Load your CAD drawing faster too. There’s no
waiting while extensive display lists are created
since display lists aren’t necessary.
No one else can save you as much time, and at
the same time give you as much information.
It looks great, too.
Your drawing is displayed at the highest possible
resolution 1280 x 1024 on any 19” analog
non-interiaced monitor with 16 bright vibrant
colors to choose from.
Special CAD Features.
Enhanced AutoCAD^ and VersaCAD^ drivers are
included with such features as smooth pan and
scroll, instant hardware zoom, and pan freeze. A
Microsoft Windows driver is also Incorporated for
your business needs.
All of these advantages translate to Increased
productivity for you. So if you’re interested in
increasing your productivity, select the price/per¬
formance leader in graphics boards for CAD.
To find out more, Call (216) 464-6600.
ODP
^computer systems inc.
23632 Mercantile Road
Beachwood, Ohio 44122
CIRCLE NO. 193 ON READER SERVICE CARD
’AutoCAD is a registered trademark of Autodesk Inc.
2\/ersaCAD is a registered trademark of VersaCAD Corporation.
Architecture can make or break a computer system.
If the sheer weight of UNIX brings the
PC to its knees, all applications running
under it will suffer. Conceived more than a
decade and a half ago, UNIX is today the
result of modifications, additions and
patches by hundreds of programmers. It
needs the resources of at least an AT.
Compare this to the QNX 0/S,
designed by a dedicated team with a
common purpose and complete under¬
standing of both the software and the
environment in which it must run. Having
elegantly solved the problem of inter-task
communications, QNX is more than capa¬
ble of both networking and real time per¬
formance-the superior choice for process
control and office automation systems.
Quick and efficient on a PC, QNX
soars on an AT. QNX occupies 80K (stand¬
alone version) to 114K (network version)
of system memory and allows 40 tasks
(programs) and up to 16 terminals per
computer.
QNX modular architecture facilitates
easy adaptation and extensions by soft¬
ware developers for specific requirements.
In addition, PC-DOS runs as a single¬
tasking guest operating system under QNX.
With the DOS Development System,
DOS EXE files can be developed in shorter
time than under DOS itself.
Communication among all tasks is via
“message-passing.” Tasks anywhere on
a network of up to 255 computers com¬
municate rapidly and transparently with
each other.
With the true distributed processing
and resource sharing of QNX, all the
resources on the network are available to
any user. Application programs and data
can be distributed over the network with¬
out having to go through a central file
server.
Network growth is fast and simple.
If your disk becomes a bottleneck, add a
disk anywhere on the network. If your
needs outgrow your present configuration,
just add terminals and/or computers as
required, without having to re-write pro¬
grams and without system degradation.
If you would like to know the secret
of the QNX architecture, please give us
a call. We invite End Users, VAR’s, OEM’s
and Software Developers to discover a
whole new world of computing capabilities.
Over 30,000 systems have been
installed worldwide since 1982.
THE ONLY MULTI-USER, MULTI-TASKING, NETWORKING, REAL-TIME OPERATING SYSTEM FOR THE IBM PC, AT,
--1 THE HP VECTRA, AND COMPATIBLES.
Multi-User 10 (16) serial terminals per PC (AT). C Compiler
Multi-Tasking 40 (64) tasks per PC (AT). Flexibility
Networking 2.5 Megabit token ring.
255 PC’s and/or AT’s per network.
10,000 tasks per network.
Thousands of users per network.
Real Time 2,800 task switches/sec (AT). PC-DOS
Message Fast intertask communication Cost
Passing between tasks on any machine.
Standard Kernighan and Ritchie.
Single PC, networked PC’s,
single PC with terminals,
networked PC’s with terminals.
No central servers. Full sharing
of disks, devices and CPU’s.
PC-DOS runs as a QNX task.
From US $450.
Runtime pricing available.
For further information ora free demonstration
diskette, please telephone (613) 591-0931.
Quantum Software Systems Ltd. • Kanata South Business Park*175Terrence Matthews Crescent* Kanata, Ontario, Canada • K2M1W8
UNDdsaregiatwodtradomarkofAT&TBellLabs. IBM PC. AT, XT and PC DOS are trademarks of IBM Corp. HP and Voctra are registered trademafka of Hewlett-Packard Company. CIRCLE NO. 181 ON READER SERVICE CARD
BASIC FACE-OFF
problems and to determine the level of
support provided by each vendor. Nei¬
ther vendor offers a toll-free number.
Microsoft’s support number is buried
in the README.DOC file on die com¬
piler disk, and Borland’s had to be ob¬
tained from directory assistance.
When Borland’s main switchboard
finally answered after five tries, the
operator suggested calling back in 30
minutes because all support personnel
were busy. Borland would not return
the call. Finally connected to the tech¬
nical-support line, I waited six minutes
before being assisted by knowledgeable
and frank people who solved most
problems on the spot, or at least sug¬
gested work-arounds.
Microsoft’s technical-support line is
answered by a recorded voice that in¬
structs the caller to branch through
several aural menus by using the tele¬
phone’s touch-tone buttons. When I fi¬
nally reached the correct extension for
QuickBASIC support, another recording
informed me that the company was not
yet open for business and then discon¬
nected. When I called back, I had to
work through the touch-tone menus
again and then wait six minutes for a
human to answer. The level of support
was somewhat less satisfying than Bor¬
land’s, and all too often the response
was “I’ll find out and get back to you.”
To test the level of Microsoft’s sup¬
port, its support personnel were asked
the hypothetical question: why is it not
possible to declare more than 15 di¬
mensions of the form A%( 1,1,1 . . . )?
The answer should be that when the
default OPTION BASE is 0, this declara¬
tion defines 2 elements on each di¬
mension. Fifteen dimensions with 2
elements each equals 32,768 elements;
with 2 bytes per integer, that is 64KB,
the limit on array size. The support
person did not know the answer, but
promised to check into it and call back.
A month has passed with no call.
Borland support was somewhat
more satisfying than Microsoft’s. Two
problems were directed to Borland
technical support regarding Turbo
BASIC. In the initial copy of the com¬
piler, a DRAW command string with
two or more VARPTR$ functions did
not operate properly. No compile-time
or runtime error was generated, but
the picture just did not get drawn cor¬
rectly. Borland was aware of the prob¬
lem and already had a corrected ver¬
sion available. This new version, 1.0c
with files dated 4-20-87, is available to
users upon return of the original com¬
piler disk (a return authorization num¬
ber must be obtained from Borland).
Borland suggested a workable if not
entirely satisfactory work-around.
The other problem involved ap¬
pending data to text files. Turbo BASIC
programs can append successfully to
files created by other Turbo programs,
but not to files created by Microsoft
languages. When appending to the lat¬
ter, Turbo programs do not remove the
existing end-of-file marker (Ctrl-Z) be¬
fore writing the new data. The resulting
file could not be successfully read in
its entirety because it always stopped
when the Ctrl-Z was encountered at the
end of the original data. Borland
acknowledges the problem and prom¬
ises a fix in tlie next release, but in the
meantime, this could be a compatibility
problem. Incidentally, QuickBASIC and
BASICA have no problems appending
to files created by Turbo BASIC.
DOCUMENTATION DIFFERENCES
Both compilers come with thick paper¬
back manuals with glossy covers and
bindings that rebel against staying open
to the desired page without an anvil to
hold it there. Purchasers of either sys¬
tem can count on an hour or so going
through the README.DOC file and cor¬
recting the accompanying documenta¬
tion. More errata were listed in the
QuickBASIC document than in Turbo
BASIC’s; perhaps this is because Micro¬
soft’s product has been around longer.
The 465-page Turbo BASIC manual
has much to recommend it, especially
to nonprogrammers. It includes a short
DOS primer as well as discourses on
variable types, file types, and data stor¬
age techniques. Borland does not take
the user’s knowledge for granted, but
some problems exist, including incor¬
rect or fuzzy directions for the use of
VARPTR$. The overall type size, espe¬
cially in the examples, is too small.
A significant plus for Borland is
that it provides sample programs on
diskette that illustrate some interesting
programming techniques, including a
fine example of recursive programming
applied to a sorting algorithm. The in¬
famous Tower of Hanoi problem is
neatly solved in a fascinating sample
program that graphically illustrates the
solution. A minispreadsheet called
MicroCalc illustrates modular program¬
ming. It is not Lotus 1-2-3, but it is in¬
teresting to study.
The QuickBASIC documentation
consists of a 595-page manual for ver¬
sion 2.0 to which a 70-page version 3.0
update has been prefixed, causing
some discontinuities. Commands are
contained in two alphabetic listings,
each with its own index. Combine this
^1 in Desktop
Conversion Systems!
SCAN - DISK - TAPE
Since 1982, Flagstaff Engineering has supplied thousands of conversion systems
to customers in more than 50 countries worldwide. We manufacture and develop
a vast array of specialized conversion products for the PC/XT/AT and the new PS/2.
With our “SCANNING CONNECTION” systems you can scan images and text for use
with your desktop publishing system and convert images to text using our OCR
software. Our “DISKETTE CONNECTION” systems can read and write most SVz”.
5V4 and 8 ” diskettes. We have developed over 100 programs to transfer word
processing, typesetting and data files from thousands of computer systems. Our
“TAPE CONNECTION” systems can read and write 1/2” 9-Track 800/1600/6250
BPl magnetic tapes from mainframe computer systems. Our new FIFO tape
controller card can transfer tape data at rates up to 400 Kb/sec. For information
on our products or prices please call us today at (6023 779-3341.
f FLAGSTAf=F
_€NGIN6€RING
1120 Kaibab Lane
Flagstaff. AZ 86001
SEPTEMBER 1987
CIRCLE NO. 133 ON READER SERVICE CARD
159
BASIC FACE-OFF
split organization with the 12 pages of
README file and the result is far from
ideal. For example, all references to
files BCOM20.LIB, BRUN20.LIB, and
BRUN20.EXE are to be changed to
Bxxx30.xxx or Bxxx3087.xxx depending
on whether the math coprocessor ver¬
sion of the compiler is installed.
The documentation has several
inconsistent statements; the length of
subprogram names is variously given as
31 and 40 characters; the reader is also
told that programs compiled with the
coprocessor version will run on ma¬
chines without math coprocessors and
then, on the next page, told that they
will run only on machines with copro¬
cessors. Which is correct? Neither and
both, depending on options selected.
The QuickBASIC manual presumes
that the user is an experienced pro¬
grammer familiar with DOS and the
process of compilation. This is espe¬
cially apparent in the instructions for
the linker, which would benefit greatly
from examples. Throughout, it does lit¬
tle hand-holding. On the positive side,
the graphic design is excellent.
FACE-OFF RESULTS
The face-off held within these pages
did not produce a clear winner. Both
of these BASIC offerings are excellent
values and represent a quantum im¬
provement over BASICA in both speed
and ease of programming.
Turbo BASIC continues the Turbo
Pascal tradition witli ease of installation,
lightning-quick compilation speed, and
overall nimbleness of operation. It is
especially recommended for program¬
mers graduating from interpreters.
Turbo BASIC’s context-sensitive
help, well-executed manual, sample
programs, and technical support are a
significant cut above the competition.
For serious development work, Bor¬
land’s product is unsurpassed for work¬
ing fast and small—in other words, for
the ven^ kind of development that the
BASIC language is best suited. Its re¬
cursive abilities can produce compact
and elegant code.
However, like its fellow Borland
language. Turbo Pascal, ultimately it is
unsuited for large-scale work, where it
is hampered by a primitive debugger,
the need for manual segmentation con¬
trol, and especially the lack of support
for separate compilation. Over the long
term, using INCLUDE statements as the
only means of modularization becomes
severely limiting.
Microsoft’s QuickBASIC is a full¬
blown, powerful compiler package that
is more suited for the experienced
programmer developing large commer¬
cial applications. (Neither Borland nor
Microsoft charges royalty fees for com¬
mercially distributing products pro¬
duced with these compilers.) Although
its data space is smaller than Turbo
BASIC’s, it offers an excellent debug¬
ger, modularization at the object-code
level, and overcomes many of the tradi¬
tional limitations of BASIC as a serious
language. QuickBASIC’s documentation
and overall complexity might be some¬
what intimidating, however. This com¬
plexity makes it unwieldy in operation
and defies the underlying concept of
the BASIC language. Such is the price
of power. Users of previous versions of
QuickBASIC should convert to version
3.0 without delay.
Although Borland and Microsoft
are competing head-to-head in the area
of BASIC compilers, their respective
products are ideally suited to different
segments of that market. It is the in¬
tended scope of applications that must
determine the selection. 1'limiiin
Justin Crom is a chemical engineei- working
as manager of economic evaluation for a
major oil company. He has almost 20 yeats
of experience with computers, much of it in
developing engineering and decision sup¬
port applicatiotis in high-level languages.
THE First COMPLETE
SA SOFTWARE FOR
UNDER $1000. Discover the power of
computer-aided Structured Analysis...Create specifications
more efficiently, more accurately,.. .With Teamwork/PCSA™
a complete, automated SA tool for your PC for only $995.
No other system includes these features for under $1,000:
• Full support of Yourdon/DeMarco SA techniques
• Easy-to-use mouse driven interface with pop-up menus
• Includes integrated project data dictionary
• Includes consistency checking and diagram balancing
• Now also includes P-Specs, Postscript" output, and
new, easy tutorial
Teamwork/PCSA runs on most IBM—compatible PCs.
It’s used by leading developers at Boeing, AT&T, GE, HP,
and Bank of America. And it’s the only P(Z-based software
that offers you a growth path to the Teamwork family of
CASE tools for real-time modeling, system design and life-
cycle management.
CADRE
Cadre Technologies Inc.
222 Richmond St.
Providence, Rl 02903
IBM is a registered trademark of International Business
Machines. Postscript is a registered trademark of Adobe
Systems, Inc. cjrclE NO. 124 ON READER SERVICE CARD
FREE DeMarco Book! We ll give you
two reasons to order Teamwork/PCSA today. ONE:
you get a 30-day money-back guarantee, so there’s
absolutely no risk. TWO: Order now and we ll send you
Structured Analysis and System Specification
by Tom DeMarco. It’s the "Bible” of structured analysis
and normally sells for over $40. And it’s yours free. For
details or to place your order, call or write today.
CALL (401) 351-CASE.
North American prices only. Volume discounts available. PCT 2
160
PC TECH JOURNAL
A Subsidiary of FUJITSU GENERAL LtMITEO
OPTIONAL
SWIVEL BASE
What does this mean to you?
Easier sales. Faster sales. More pro¬
fitable sales.
And best of all, the Teknika
MJ-503 Multi-Scan Color Display
Monitor is compatible with IBM PC/
XT/AT, their clones and virtually
any other computer made today.
Its wide frequency range of 15kHz
to 34kHz automatically scans for
CGA/EGA/PGA. Other features in¬
clude 926 X 580 pixels, 16/W/ALL ,
color switch, TTL/ANALOG input
signals, text SW (green), and the
interface cable is included.
The barriers are down...and your
profits will be up. Don’t delay, contact
your Teknika representative today.
EMGliiswe 2-¥egr limlfed Warrafify
The longest and strongest warranty
in the industry. Covers parts, CRT
and labor.
Non-Glare 13" Screen
Less eye strain, easier to read.
Easily Accessible Controls
Controls are up-front to allow for easy
adjustment of horizontal position,
brightness and contrast.
iitll
>«ni
TEKNIKA ELECTRONICS CORPORATION 353 Route 46 West, Fairfield, New Jersey 07006
201-575-0380
1 -800-835-6452 Display Monitor Division
CIRCLE NO. 138 ON READER SERVICE CARD
Introducing the
DIGIBOARD COM/Xi Series front-end processor.
Intelligent multi-channel communications boards
400% faster than the industry standard.
Like our popular COM/X Series, they provide
users of PC/XT/AT-compatible computers with four
or eight individually addressable serial ports. But
with the new COM/Xi series we’ve added:
• an 80188 co-processor operating at 10 MHz
• 256K of dual-ported RAM + 16KofROM,all
accessible to user/ programmers for appUcation
and security software development
• a modular design that allows us to custom-
tailor I/O to individual customer requirements.
On-board intelhgence means more speed for
multi-user operating systems and multi-channel
data collection and dissemination.
And makes the new DIGIBOARD COM/Xi
Series a more intelligent choice for you.
Plugging you into Tomorrow.
Call 1-800-344-4273. In Minnesota, (612) 922-8055
CIRCLE NO. 110 ON READER SERVICE CARD
162
PC TECH JOURNAL
If you’re having trouble
chawing conclusions on
today’s systems issues,
mui'"' * *
/
la^i
Diawcsi die expe
The PC Tech Journal Systems Forum In
San Diego: a meeting of the minds you
won’t want to miss. Recent changes in
the computer industry raise pressing ques¬
tions for all of us. But at PC TECH JOURNAL,
we’re not making a big issue out of it. We’re
making it an event. Join us in September, and
get confusion over new standards out of
your system.
Give the vendors a piece of your mind.
The Systems Forum isn’t just another shut-
up-and-listen lecture series. Our unique
format brings vendors and users together for
fast-paced panel discussions and audience
question-and-answer sessions. We’ll give
you the opportunity to speak out on issues
that concern you, and tell top systems gurus
your opinion of industry changes. By
maximizing the dialogue among different
groups, we’ll wipe out boundaries that tradi¬
tionally separate vendor, reseller, and end
user companies. And we’ll put our heads
together to tackle tough systems questions.
The conference that pays off. Some
lecture series leave you with little more than
a few tacky souvenirs. But the PC Tech
Systems Forum gives you the answers you
need to make sound, money-saving decisions
on today’s complex issues. You’ll come away
with solutions that work. Solutions that will
make you a valuable asset to your company
for years to come.
Learn from experience. A brief glance at
our guest list should convince you that this
is one conference you must attend. Our
panelists include movers-and-shakers from
both the vendor and user communities, with
years of technical and business experience.
You’ll hear from people who know the whys
and wherefores of recent industry develop¬
ments. You’ll also be able to draw on the
knowledge of the audience—your fellow
systems professionals—who have years of
experience in systems integration and
implementation.
The 10 hottest systems issues, brought
to you live. Panelists will go beyond the
theoretical to dig into the realities of systems
implementation. Discussions will cover
crucial issues like the short- and long-term
ramifications of the IBM PS/2, the resurgence
of the Macintosh alternative standard, the
future of OS/2, the linking of unlike
machines, and optimizing LAN performance,
to name a few. Other issues to be examined
are building expert systems, alternatives to
DOS, applications development, and turning
data management software into production
applications.
Our active, participation-oriented format
ensures that you’ll always get a second opin¬
ion. And you’ll leave well-versed on practical
systems solutions, as well as strategies for
their implementation in your company.
A discussion among piers. At PC TECH
JOURNAL, we believe that finding solutions
should be a rejuvenating experience. Upon
arrival, you’ll find we’ve chosen top-notch
facilities and a spectacular ocean-side setting.
We’ve also limited attendance to 500, so
individual seminars can facilitate more per¬
sonal interaction. And the beautiful San Diego
Harbor Island provides plenty of diversions for
time-outs from the Systems Forum’s more
intellectual pursuits.
Prices fall before September. Register
before July 31, and receive a $100 discount
on the registration fee of $495. Ask for our
special PC TECH JOURNAL room rates at
the Sheraton Harbor Island, and plan for a
lot of food, fun and fireworks (intellectual,
of course).
Be there and square off on crucial
systems issues. Put a pencil to a registration
form today, and take an important step toward
drawing your own conclusions on today’s
systems issues.
PC Tech Journal
Systems Forum Agenda.
1. PS/2: Rebirth of the IBM Standard.
This timely discussion will tackle systems
integretation issues surrounding IBM’s PS/2,
including the new microchannel bus, 3 V 2 "
diskette, graphics standard and communica¬
tions capabilities.
2. The Rise of The Macintosh Standard.
The resurgence of an alternative standard: Learn
about the Mac’s 32-bit architecture, open de¬
sign, windowing, and inherent friendliness—as
well as its future in the corporate world.
3. Implications of OS/2: Operating
System of the 1990s? The pros and cons
of the new IBM operating system will be re¬
viewed, including insight on its speed, multi¬
tasking abilities and compatibility box.
4. Waiting for OS/2: Alternative
Operating Systems. A new generation of
multitasking/ multiuser operating systems is
arriving for the PC. OS/2 is announced but
undelivered. It’s appropriate to examine alterna¬
tives such as UNDC, DESQVIEW, PC-MOS and
others. Learn more about standards, options
and implications at this panel discussion.
5. Applications Development. Beyond 3rd
Generation towards AI: Learn how different the
new object-oriented/AI languages are from
COBOL, FORTRAN, C, BASIC, etc., and how
user companies are building Al/expert systems.
6. Developing Applications in a
Multiuser/Multivendor Environment:
When more than one type and size of machine
are in the picture, optimizing performance is
tricky. Put the pieces together at this timely
discussion.
7. Optimizing LAN Performance. Careful
LAN selection and implementation is the name
of the game in networking. This highly rele¬
vant session will help you fine-tune your LAN
smarts.
8. Linking Unlike Machines. IBM has
some planned solutions, but what are users
and vendors doing right now about connecting
diverse systems? Find out by attending.
9. Database Management on LANs.
Although a major theoretical benefit of local
area networks is the use of shared databases,
• lots of real world obstacles stand in the way.
Find what you need to know about the prob¬
lems and the solutions to LAN-based data
management.
10. The Desktop-based DBMS as a Pro¬
duction Database. Most PC-based data man¬
agement software is used primarily as a deci¬
sion-support tool. But the best of the database
management products offer multiuser, trans¬
action processing capabilities. Learn which
products deliver in this discussion.
PC Tech Journal Systems Forum,
Sept. 23-25,write or caU 1-301-740-8300.
TEgH
JOURNAL
I SYSTEMS FORUM
' , - -—
^at^e]^
r>/^'At^-7 ^7
j f
lmp(!M(<e‘<S oF
Q^jgMS Hesfe^ , ^
Qha'^lei OfPfx
— Tr~~7~:^‘ZZZ7^.^ mirreif&H-'
jacK_i^mj^fi^:(f '—LLJz^
^[m
MffCt.
—TT - r^s.u ic;fr
ph-ilipp-e ^^‘1, )§®'''^‘"7
l_ac(H ^»-k>‘<el(,M^h''jL \
'Tgfvf Kh iU’et^he 1,
I PWI f —--
nfcjfc^rf'
^Pr^xiuJ-rc^y Pok JSiH Lx-cV PulO'xe-h
he new C++ programming lan¬
guage is touted as being a better
C. It was designed to make life
easier for the programmer by adding a
rigid programming discipline as well as
other features to the original C lan¬
guage. How well it delivers on this de¬
sign is open to question. The potential
utility of C++ is considered here, as are
two compilers that implement the new
language: Advantage C++ from Lifeboat
Associates and Guidelines C++ from
Guidelines Software.
Standard C was designed to be an
efficient, portable, systems program- '
ming language. It used the computer’s
underlying hardware and relaxed type
checking to make programming con¬
venient for the experienced profes¬
sional. At the time the standard C pro¬
gramming language was created, this
approach was acceptable, given the rel¬
atively modest computers upon which
C and UNIX were first developed and
the small number of programmers typi¬
cally working on a program.
As the demands of increasingly
complex projects and larger program¬
ming teams revealed the shortcomings
of standard C, a new language was
needed to allow the programmer to
create, and manipulate software objects
more easily. Today’s larger projects
require a rigid programming discipline
and added language features.
Along with structured program¬
ming, object-oriented programming has
evolved to make large software systems
easier to maintain and, thus, more cost
effective. The basic concepts of object-
oriented programming—message pass¬
ing, data abstraction, and class inherit¬
ance—permit the programmer to write
programs as groups of small, easily re¬
used “objects” that encapsulate data
and procedures. These new concepts of
program design require’ new constructs
in programming languages.
t .
C++ adds enhancements and object-orientedprogramming
to standard C, but is it really better? C and C++ are compared,
and two C++ compilers are considered.
MARTY FRANZ
As defined in Kernighan and
Ritchie’s classic, The C Programming
Ixinguage (Prentice-Hall, 1978), C does
not include object-oriented constructs.
Although a gifted programmer can im¬
plement the idea of object-oriented
programming in C, such constructs are
difficult to achieve because of C’s es¬
sentially loose, low-level nature.
C++ not only offers object-oriented
programming facilities, but also pro¬
vides structured programming and fea¬
tures to correct other C shortcomings.
Developed for the UNIX operating sys¬
tem by Bjarne Stroustrup at Bell Labs,
C++ already has been proved succevss- ■
ful there, with nearly 650,000 lines of
code developed. The C++ Program¬
ming Language by Stroustrup (Ad-
dison-Wesley, 1986) is the comprehen¬
sive reference for the new language.
In recognition of the jarge amount
of soliv\^are that has been written in C,
C++ was designed as a proper superset
of C to ease softwTire conversion. In
fact, the C++ compiler is actually a
preprocessor that emits C source code,
which then is compiled using a stan- ’
dat'd.C compiler. Normal C programs
-pass through the C++ compiler un¬
changed, allowing the vast base of C
'programs to be used in a C++ environ¬
ment without conversion. To use the
additional features of C++, however, a
programmer must absorb a large
amount of new information.
C++ ENHANCEMENTS
One enhancement offered by C++ in¬
volves function arguments. Standard C
does not check for type matching be¬
tween the function’s declaration and
invocation, or for the number of argu¬
ments in a function. This loose ar¬
rangement, although occasionally con¬
venient for an expert, can cause unin¬
tended data truncation or lengthening
and is a common source of bugs.
ILLUSTRATION • NENAD j/VKESEX'IC/SONJA LAMUT
Howto see VGA
for what it leally is.
V E C A D E
L U X E V E G A
DELUXEVEGAD
ELUXEVEGADEL'
X E EGADELUXEV GAD
D E L U X E V E G A D E L U X E Y E G A D E I L X
Take this little test. Look at the screen and notice the sharpness of the characters. And the brightness
of the colors.
And the name of the standard. VEGA Deluxe™
It’s a 640 X 480 high resolution graphics standard that IBM thought so highly of they built it
into their own new Personal System/2 computers.
But if you’ve already got a PC or compatible and a MultiSync monitor, then all you need
is the $495 VEGA Deluxe card.
The VEGA Deluxe is a standard that mns every piece of software written for CGA, MDA, Hercules and EGA And one that, with
a free software upgrade, will run fijture programs written for IBM’s VGA With I 6 colors fi'om a palette of 64.
Oh sure, the VEGA Deluxe uses advanced surface mount technology. And comes with a two year warranty. And has been the
recipient of numerous awards including Editor’s Choice from PC Magazine and the Ultimate Machine fi'om PC Tech Journal.
So head down to your nearest Video Seven dealer and see for yourself what high resolution really looks like. Or contact
Video Seven.
The VEGA Deluxe. It’ll open your eyes.
Video Seven Inc., 46335 Landing Parkway, Fremont, CA 94538,1-800-238-0101
(in California, 1-800-962-5700). We make a clear difference.
aiijr luuivo iir
VIDEOWSEVEN
Registered trademarks: Video Seven,Video Seven Inc.; BM, International Business Machines Coq).Trademarks: MultiSync, NEC Home Electronics (USA) Inc; VEGA Deluxe,Video Seven Inc.Video Seven reserves the right to change specifiations without notice.
CIRCLE NO. 204 ON READER SERVICE CARD
SUCCEEDING C
C++ rigidly checks arguments for
type and number, forcing conversions
to the calling argument’s type if neces¬
sary. It also extends C’s extern key
word so that an external function dec¬
laration contains its calling list, much as
the proposed ANSI C standard has
done. (Although the syntax is different,
C++ vendors plan to adopt the ANSI
syntax when it is finalized.) Placing
extern in an #include file ensures cor¬
rect type checking across multiple
source files while still allowing inde¬
pendent compilation to occur.
Along with this rigorous argument
checking, C++ also can pass a variable
number of arguments to a function and
assign default values. This long-overdue
improvement, which also is present in
the ANSI standard for C, allows generic
formatting functions, such as printf(),
to be written cleanly.
The C++ programming language
uses ellipses to declare a function with
an unspecified number of arguments:
int printf(char* . . . );
It specifies default arguments by adding
an = followed by a constant after the
argument’s type declaration in the func¬
tion’s header:
int myfunc(int, int =0);
In this example, both arguments to
myfunc are integers; the second argu¬
ment defaults to zero if it is not sup¬
plied by the programmer.
C++ also extends C’s normal dec¬
laration syntax to include references,
which point to a data type’s address
rather than to its value. In C, passing to
functions by reference is required with
large data structures that cannot be
passed by value. References are simu¬
lated in C by using pointers to data,
typedefe, and macros, an approach
prone to errors. In the C++ language,
references allow these types of data to
be passed without cumbersome pointer
notation. For example, in
bigstruct a;//large structure
bigstruct& b = a;
the identifiers b and a represent the
same data, with b defined as a pointer
to a. The notation // is one way to indi¬
cate a comment line in C++. All charac¬
ters that follow // are ignored up to the
end of the line.
Another enhancement, the inline
function type, is of particular interest to
those PC programmers who must con¬
tend with limited stack requirements. It
allows functions to be compiled di-
recdy into the calling module at the
point where they are called, which re¬
sults in faster execution and reduced
call overhead. However, unlike C pre¬
processor macros, inline has normal
argument binding, which helps to
avoid those often-subtle side effects.
OBJECT-ORIENTED
Although the enhancements just dis¬
cussed are convenient, they are not as
important as the object-oriented pro¬
gramming statements in C++. All of
these facilities are based on the class
statement, which describes a new ob¬
ject type. Although similar to C’s struct
statement in syntax, class does more
than specify data layout in terms of
C ++ can pass a variable
number of arguments to a
function and aseign default
values—an improvement
that is long overdue
simpler types; it also includes initializa¬
tion and clean-up, class-related data
manipulation, and coercion functions
that are called automatically when con¬
verting a data type to a class type.
To determine how a class is used
in C++—and why it is an important
extension to the C language—data
structures and defined types in conven¬
tional C should be examined. A stan¬
dard C data structure is defined in The
C7++ Programming Language as
struct intset {
int cursize, maxsize;
int *x;
};
This function defines a structure called
intset (a set of integers) that contains
the elements-cursize, maxsize, and x.
The variable x holds a pointer to dy¬
namically allocate storage for the set.
Although C’s intset is said to undergo a
rigorous check when used in a pro¬
gram, problems still arise when using
this method to encapsulate data.
In the first place, the contents of
the data structure are not private—that
is, any function using intset can access
the member data items within intset.
These functions depend entirely upon
the intset’s internal structurel If this
data structure were to change, and, for
example, were to use long instead of
int, every function that accessed intset
also would have to change. The stan¬
dard C language compiler would not
catch this particular problem—it would
be up to the individual programmer to
track down and correct each one.
Second, simply declaring a variable
to be an intset does not guarantee it
will operate correctly as one. Initializa¬
tion may be needed, or, at the very
least, allocation of automatic storage for
the variable’s contents using the func¬
tion malloc( ). The struct declaration
does not insure that, once defined, a
variable will be used correctly.
These two problems, although triv¬
ial in small programs, can be nightmar¬
ish for the programmer maintaining a
large software system that has many
defined types in dozens of modules.
Improved protection of a data item’s
structure and more discipline regarding
its usage are required.
The C++ class statement comes
closer to solving these problems than
the struct declaration does. A class for
intset is defined as
class intset {
int cursize, maxsize;
int *x;
public:
intset(int m, int n);
~intset();
int member(int t);
void insert(int t);
void iterate(int& i)
{i = 0;}
int ok(int& i)
{ return i < cursize; }
int next(int& i)
{ return x[i+ + ]; }
};
This definition syntactically resembles a
struct in that braces are used to en¬
close the contents. However, the actual
operation of a class is somewhat differ¬
ent. First, a class statement contains
both functions and data. The function
declarations, called member functions^
are the only functions allowed to di-
recdy access data in a class statement.
Second, the label public: separates
the parts of a class statement that^are .
visible to the outside program from the
parts that are strictly private. The public
functions and data items are the* pro¬
grammer’s sole external interface to a
class statement. The C++ compiler pro¬
tects data items preceding them from
direct manipulation by functions out¬
side the class. This isolation prevents
functions outside the 'statement from
changing if the data and functions in¬
side change—a vital way to simplify the
maintenance of the final program.
SEPTEMBER 1987
169
SUCCEEDING C
The first function, intset(), which
bears the class’s name, is known as the
constructor. Whenever a new member
is instantiated (that is, brought into ex¬
istence, with the identifier beginning its
scope) by a declaration, the constructor
is called in order to allocate storage or
perform initialization. The second func¬
tion, ~ intset( ), known as the destruc¬
tor, is called automatically whenever an
object of class intset is no longer in
scope; it releases any dynamic storage
that was allocated by the constructor.
The statements new and delete in
these functions allocate memory for
their objects, just as malloc() and
free() do in normal C. Unlike malloc()
and free( ), however, new and delete
automatically allocate one object of cor¬
rect size without casting the result or
multiplying by sizeof(). C++ helps en¬
sure correct use of class statements by
requiring that constructors and destruc¬
tors be defined and called.
The remaining class functions per¬
form various manipulations on the set
of integers. Because the integers cannot
be directly accessed outside the class-
member functions, all the services that
users require must be implemented
through class-member functions. There¬
fore, insertO adds an integer to the
set; member( ) determines if a given
integer is a member of the set;
iterateO starts a loop through the set;
ok() checks for the next member; and
next() accesses it. With these functions,
the user can loop through the set of
integers starting at the first element.
Within the scope of a class, functions
can be both defined and declared. The
member functions iterate(), ok(), and
next() all have been defined as part of
the object; they require no additional
function definitions.
The C++ Programming Language
definition of intset, which creates and
prints a set of random integers, illus¬
trates the uses of class statements and
objects in a complete program (see
listing 1, INTSETCX-Q. Although the
program’s source code still looks like
C, some important differences exist.
First, the class statement defines
the class of objects, or set of integers.
Its data items consist of the set’s size
(maxsize), the number of elements
currently in the set (cursize), and a
pointer to the integers in the set (x).
Following the data declaration, the
key word public: precedes a list of
function declarations. Following the
entire class declaration, some member
functions of the class are defined sepa¬
rately. The function declarations are
preceded with the name of the class
and as in intset::member(), because
member functions are defined locally
to the class. In a complete program,
several functions could be named
member(), one defined for each of the
other class statements used in the pro¬
gram. This notation, while lengthy, al¬
lows functions to be defined in files
separate from the class declaration,
then compiled separately. Functions
also can be defined locally, within the
scope of the class declaration, as were
iterateO, ok()> next().
To use a class, first a specific ob¬
ject belonging to it must be declared:
intset s(m, n);
This statement not only declares s to
be a member of class intset, but also
calls the constructor to allocate mem¬
ory for the object’s data. The arguments
m and n are passed to the constructor
for dynamic memory allocation and
other initialization procedures.
Like other function calls in the
C++ language, this constructor call is
rigorously checked during compilation
for type and number of arguments.
Because forgetting to initialize dynamic
data structures is a common program¬
ming error to make, the constructor is
another way that C++ increases tlie re¬
liability of large programs.
TurboC® and QuickC™ Users Only $99^^
LOOK & FEEL GREAT
GetC-scape™. 2.0 with !
C^SCapet A breakthrough in fast and
easy screen and keyboard interface manage¬
ment for C programmers. Create pop-up
windows, pulldown menus, data entry
screens, text screens, context-sensitive
help, fiilly definable keystrokes, complete
validation—develop professional-looking
applications in quick turnaround, even
as a beginning C programmer.
If you know printf, you
can use C-scape!
* Upgrade to complete source for only $180.00. Complete
package including source available for Aztec, Lattice,
Microsoft; and other leading compilers for $279.00.
Add $4.50 for shipping in North America; $36.00 overseas.
Price subjea to change.
Oscape: The state-of-the-art inter¬
face management system preferred by
professional C programmers and con¬
sultants worldwide is now available to
newcomers to C at an affordable price.
“Incredibly flexible; a very compact and fast interface for
all screen I/O, Easily the best and most powerful screen
package.” C.S., Monarch Resources, Inc. “Fast and flexi¬
ble, far ahead of the competition.” R.M., Tillinghast.
^Greatly reduces development time—also allows portable
code. The cost/performance is incredible.” S.M., Barringer
Geoservices, Inc.
Look & Feel: A totally new
WYSIWYG screen designer. Lets you
design screens using the keyboard, then
automatically turns each screen into
readable C code that will compile on the
first run. Create menus and data entry
screens, define fields of any type. Fea¬
tures automatic horizontal and vertical
scrolling, line draw and erase. Includes
context-sensitive help. Perfect to learn C;
perfect for productivity.
C-scape and Look &. Feel are trademarks of Oakland Group, Inc, Turbo C is a registered trademark of Borland International, Inc.
Quick C is a trademark of Microsoft Corporation.
I \ Library: Includes pop-up^ exploding, stand-
^ ard windows with "smart borders" and
automatic scrolling; menus include pulldown,
7-2-3 type, and ^andard formats; overlap¬
ping windows; horizontal and vertical scroll¬
ing, perfect for spreadsheet and data base
applications; date, time, and money func¬
tions; a vast system for creating context-
sensitive help, and more.
Screen desianen The Look & Feel screen
designer will have you producing fully-
functional screens without writing a single
line of code! Just draw, type, and convert to
C. Also turns ASCII and uan Bricklin Demo
screens to C.
Manual: A professional, 470-page manual
with extensive examples and a complete
alphabetical reference section.
Device drivers: Drivers swappable at run
time let your applications run on virtually
any hardware configuration—CGA, EGA
(including 43-line mode), monochrome
support.
Source code: Limited source code allows
you to create your own, unique function
library or modify existing functions.
Easy: C-scape is powerful, but easy to
learn, easy to use, easy to customize, and
easy to maintain.
ANSI C compatible: Fully. Options allow
writing to screen memory directly or going
through BIOS.
r~l 24-hour bulletin board: Great for support
and up-to-date information.
r~l No royalties, no run-time license: No need
to pay more for your applications.
I I Demo package available: See C-scape in
action. Call nowl
1
□
□
□
□
□
CIRCLE NO. 186 ON READER SERVICE CARD
Announcing - the database
development system that
you designed.
PROGRAMMERS-
We asked what you
wanted in a database
development system and
we built it!
db_VISTA III'“ is the database development system for
programmers who want powerful, high performance
DBMS capabilities ... and in any environment . Based on
the network database model and the B-tree indexing
method, db_VISTA III gives you the most powerful and
efficient system for data organization and access. From
simple file management to complex database structures
with millions of records. db_VISTA III runs on most
computers and operating systems like MS-DOS, UNIX,
VAX/VMS and OS/2. It’s written in C and the complete
source code is available, so your application perfor-
mance and portability are guaranteed! With db_VISTA
III you can build applications for single-user microcom¬
puters to multi-user LANs, up to minis and even main¬
frames.
RAIMA’S COMMITMENT TO YOU: No Royalties, Source
Code Availability, 60 days FREE Technical Support and
our 30-day Money-Back Guarantee. Extended services
available include: Application Development, Product
Development, Professional Consulting, Training Classes
and Extended Application Development Support.
HOW TO ORDER: Purchase only those components
you need. Start out with Single-user for MS-DOS then
add components, upgrade ... or purchase Multi-user
with Source for the entire db_VISTA III System.
It’s easy... call toll-free today!
RELATIONAL DBMS
INDEX
TABLE 1
TABLE 2
NETWORK MODEL DBMS... db_VISTA'
RECORD 1 RECORD 2
db__VISTA out-performs
relational DBMS’s with direct
access to data and less data
redundancy. Your applications
run faster and more efficiently!
Overhead
shown in
black and
dark gray.
SFT !
POINTER
The db_VISTA III^“ Database Development System
Q db.VISTA™: The High Performance DBMS
The major features include: • A runtime library of over 100 functions.
• Multi-user support for LANs and multi-user • Operating systems: MS-DOS, UNIX V,
computers. XENIX, VMS, OS/2.
• Multiple database access. • C Compilers: Lattice, Microsoft. IBM,
• File and record locking. Aztec, Computer Innovations, Thrbo C,
• Automatic database recovery. XENIX, and UNIX.
• Transaction processing and logging. • LAN systems: LifeNet, NetWare, PC Net-
• Timestamping. work, 3Com, SCO XENIX-NET, other NET-
• Database consistency check utility. BIOS compatible MS-DOS networks.
• Fast access methods based on the network
database model and B-tree indexing. Uses 0 db_QUERY:”' The SQL-based Query,
both direct “set” relations and B-tree in- • Provides relational view of db_VISTA
dexing independently for design flexibility applications,
and performance. • Structured Query Language
• An easy-to-use interactive database access • C linkable.
utility. • Predefine query procedures or run ad-hoc
• File transfer utilities for importing/export- queries ‘‘on the fly”,
ing ASCII text and dBASE II/III files.
• A Database Definition Language patterned 0 db_JREVISE”: The Database
after C. Restructure Program.
• Virtual memory disk caching for fast • Redesign your database easily.
database access. • Converts all existing data to revised design.
db_VISTA III™ Database
Development System
db_ VISTA” File Manager Starts at S195
We’ll answer your questions, help
determine your needs and get you started.
CALL TODAY!
mm l - 800 - db-RAIMA
(that’s 1-800-327-2462)
All components feature royalty-free run-time distribution, source code
availability and our commitment to customer service. That’s why corporations
like ARCO, AT&T, Hewlett-Packard, IBM, Northwestern Mutual Life, UNISYS
and others use our products.
Li^ 1 CORPORATION
3055 U2th Avenue N.E., Bellevue, WA 98004 (206)828-4636
Telex: 6503018237MCIUW FAX: (206)828-3131
SUCCEEDING C
After an object has been instan¬
tiated, the functions that make up the*
class can be called by using the object’s
name as a selector, as in
s.insert(t);
or as a pointer, as in
set —> iterate(var);
Because this can be hard to read, C++
extends normal C operators (such as
+, —, and even [] for subscripting) to
work with objects of various class state¬
ments. This operator overloading facil¬
ity enables the seamless use of class
statements in programs, exactly as if
they were basic types, such as int and
float. The statement
cerr « ’’set: ” « s « ”\n”;
uses the dyadic operator « (normally
left shift) to write variables and string
literals to the stream file cerr; s is a
character array in this example. This
statement is equivalent to
printf(cerr, ’’set: %s\n”, s);
in the normal C language.
A function that implements an
overloaded operator is declared by
naming it operator followed by the
particular operator. Any of the C opera¬
tors, except for , and ?:, can be
used this way. For example,
istream& operator »(char*);
declares the function operator »,
which accepts a pointer to characters.
When the operator » is encountered
in a statement, this function is called if
the argument types match the declara¬
tion. Additional funaions also can be
declared with the same name, but each
takes a different argument type:
istream& operator »(int&);
istream& operator »(char&);
These functions print integers
passed by reference and single charac¬
ters. The C++ compiler determines
which function to call based on the
type of argument used in the invoca¬
tion. Like Ada, any C++ function can be
overloaded by uniquely distinguishing
the argument types passed to it.
Operator overloading should be
considered carefully before using them
for user-defined types. For example,
overloaded operators are not inher¬
ently commutative. A scalar-addition
veaor operator that is defined as
vector operator + (vector v, int i)
cannot be invoked by the expression
vl = 2 + v2. Also, vl = vl + 1 is not
the same as vl + + unless operator+ +
is appropriately defined. Overloading
an operator in an obscure manner can
do more harm than good.
Isolating data in a class as to their
member fiinaions often is a problem.
For efficiency, some functions could
require direct access to the private data
of two or more class statements. To
bypass this restriction, C++ allows class
statements to specify friend functions
that are not stricdy members of a sin¬
gle class, but still have access to the
^^hen derived classes are
used, the programmer can
define functions in the base
class that will work on ob¬
jects of all derived classes.
statement’s private data. The particular
function is declared to be a friend in
the class declaration.
Another restriction is that class
statements sharing a similar structure
must still be declared independently.
C++ allows one statement to share the
facilities of another using a mechanism
called derivation. The declaration of a
class called room might be
class room {
int length, width, height;
char *roomname;
public:
// . . .
}
Another class, living__room, can be
derived from room using the syntax
class living_room :
public room {
int number_of_chaits;
public:
// . . .
}
This declares that living_room uses
the properties of room. Unless rede¬
fined, the data (length, width, height),
constructor, destructor, and member
functions of living_room are the same
as those of room. Any replacements
declared within living_room override
those of room and are unique to
living_room. This mechanism, called
inheritance, allows extensive reuse of
the program code by carefully choos¬
ing class definitions. In this example,
room is said to be the base class, and
living__room, a derived class.
A sample use of a derived class
might be in a graphics module in
which a base class contains the loca¬
tion, the color, and the number of
sides for a given polygon:
class polygon {
int sides;
point topcomer;
color fc, bc;
// . . .
public:
point where( )
{ return topcorner; }
void setcolor(color f, b)
{ fc = f; bc = b }
// . . .
};
With this base class defined, other de¬
rived class statements can be defined
that handle special cases:
class squareipublic polygon {
int length;
// . . .
public:
void draw();
void move(point to)
{ topcorner = to; draw(); }
// . . .
}
This class is defined for squares, which
have four regular sides of the same
length. The ftinctions square ::draw()
and square()::move() can take advan¬
tage of the square’s symmetry when
drawing or moving the object on a
graphics screen, but the programmer
still can use the functions setcolor()
and where().of the polygon class, be¬
cause these functions are not unique to
squares. Therefore, the programmer
must write and test only two new func¬
tions for this new class.
When using derived classes, the
programmer can define functions in
the base class that work on objects of
all derived classes. This requires match¬
ing the function and object at runtime
rather than at compile time, because
the compiler cannot determine exactly
which derived class is being used in a
function call. This situation is analo¬
gous to using unions in standard C. To
tell the compiler which data type is in
use, the programmer includes a com¬
mon “type” field in the union and de¬
termines what other fields in the union
to use based on this value.
To avoid this practice, which is
prone to bugs, C++ uses virtual func¬
tions, declared in the base class by the
key word virtual. Derived classes can
either redefine these functions when
needed or use the version in the base
class. A single pointer of overhead is
172
PC TECH JOURNAL
added when virtual functions are used
within a class. At runtime, the pointer
is resolved to the correct function for
the class of the object for which it is
invoked. This is the only instance in
the C++ language where binding of
functions and objects occurs at run¬
time, which reduces the runtime over¬
head of compiled C++ programs.
Thus, C++ can abstract data (be¬
cause data in a class are private), pass
messages (by invoking class functions
with object selectors for specific ob¬
jects), provide inheritance (using de¬
rived classes and virtual functions), and
support limited runtime binding. These
facilities are the building blocks of ob¬
ject-oriented programming.
Unlike some other object-oriented
languages, such as Smalltalk, C++ per¬
forms ver>^ little extra processing at
runtime. The compiler and linker per¬
form almost all correspondence be¬
tween objects and functions, and the
object code is almost as efficient as
standard C. As a result, some important
object-oriented language facilities are
missing from C++, including automatic
garbage collection of allocated storage,
multiple inheritance (where one de¬
rived class has two base classes), and
concurrent programming. These have
been omitted because they would have
compromised compatibility with exist¬
ing C compilation and linking, or
would have added more overhead to
standard C programs passed unchanged
through the C++ compiler.
LOOK-ALIKE COMPILERS
Two C++ compilers are now available
for DOS machines: Advantage C++ and
Guideline C++. Both generate C code
that can be compiled by the Microsoft
C compiler. Advantage C++, from Life¬
boat Associates (which also carries the
Microsoft C compiler and other pro¬
gramming tools), is packaged in a PC-
manual-sized binder with slipcase and
two diskettes. In addition, a version is
available that operates with the Lattice
C compiler. Guidelines C++, from
Guidelines Software, is packaged in a
standard 8.5-by-ll-inch loose-leaf
binder, with two diskettes.
These compilers bear more than a
casual resemblance. Because both are
derived from the same AT&T source
code used in UNIX implementations,
portability between the PC and UNIX
versions should be uncomplicated. This
implementation method has some dis¬
advantages. C++ is actually a prepro¬
cessor that translates its input C++
code and include files into C code;
thus, lexical analysis, parsing, and
Please write to: PC tech journal Magazine,
RO. Box 2968, Boulder, CO 80322.
Include your mailing label from a recent issue of
PC TECH JOURNAL for faster service. Please allow
up to 60 days for change of address to take place
ENHANCED VERSION
ADVANTAGE C++
Expand your programming capa¬
bilities with C++, the object-
oriented language developed
by AT&T that gives you all the
benefits of C without Its limita¬
tions. ADVANTAGE C + + is
the only full C+ + implementa¬
tion available, giving you the
speed, support and reliability
you need to develop large and
complex applications.
MORE POWER AND PERFORMANCE
• Significantly faster and smaller.
• Fully compatible with your exist¬
ing C programs and libraries.
• Code is more reliable and
maintainable.
• Translates efficiently with vir¬
tually no run-time overhead.
• Catches many mistakes the
compiler misses, saving devel¬
opment time.
• Tested on several hundred
benchmark programs.
• Most thoroughly documented
product.
• Continuously enhanced and sup¬
ported by over 20 developers.
• Available for Microsoft and Lattice
C compilers; SCO XENIX,
Microport System V/AT, Sun,
Apollo, VAX and other
environments.
• Based on latest AT&T version.
• ANSI compatible.
• Now in use by AT&T, Ashton
Tate, GE, IBM, Lotus, Mitsubishi,
NIH, Prime Computer, Texas
Instruments and many other
major corporations.
MORE SUPPORT CAPABILITIES
Virtual disks.
Small, medium, compact and
large memory models.
Full C+ + source level debug¬
ging with CodeView and Pfix.
Microsoft Windows compatible,
with support for far, near and
Pascal key words.
Protected mode OS.
Call
1 - 800 - 847-7078
In NY: 914 - 332-1875
or see your local Lifeboat Authorized Dealer
55 South Broadway Tarrytown N.Y. 10591 The Full-Service SouFce for Programming Software.
CIRCLE NO. 143 ON READER SERVICE CARD
SEPTEMBER 1987
173
SUCCEEDING C
Can your IBM-PC do this?
MUIR PASS and vicinity
as seen from azimuth 320 degrees
eleratioD SO degrees
PLOTWORKS, Inc.
It can if you have PLOT88...
and with PLOTS8, you can do a whole lot more.
Plotworks offers you PLOT88, a library
of subroutines to construct grids, con¬
tour maps, and three-dimensional mesh
drawings. In addition, PLOT88 is a
device-independent, industry-standard
graphics package which includes PLOT,
PLOTS, NUMBER, SYMBOL, AXIS,
SCALE, LINE, FILL, and many
others. You can output your drawings
to Hewlett Packard plotters and laser
jet printers, Houston Instrument plot¬
ters, and dot matrix printers. Now your
mainframe graphics programs can run
on your IBM-PC, PC/XT, or PC/AT at
your convenience and at a fraction of
the cost.
PLOTWORKS, Inc.
Dept. J-4, P.O. Box 12385
La Jolla, CA 92037-0635
(619) 457-5090
""Toolmakers for the Information Age”
CIRCLE NO. 188 ON READER SERVICE CARD
RDWRNCEDl
COMMUNICATION-LINK
Intelligent crossroads
for multiusers
Nobody ever told your PC how to deal with
eight channels of data traffic. But now, it’s
got some help. It’s got the ACL Serial Card
that takes the panic and frustration out of
multiuser systems... and replaces them
with speed and orderliness.
*NO DATA PILE UPS! High speed dual port memory teamed with a PC compatible CPU
gives you a high performance communication coprocessor.
* MAXIMUM ADAPTABILITY! Eight independent channels of RS-232, with full hardware
modem control handshakes, or software flow control. Also, RS-422 and RS-485 available, to
interface with industrial process controls.
* CREATE AND RUN YOUR OWN
PROGRAMS! Download custom
programs and have ACL run them.
DRIVERS FOR MOST MULTIUSER SYS¬
TEMS (XENIXT* MICROPORT UNIX,^ AND
QNX) Give us a call. Find out how the ACL Serial
Card can help your PC reach its full potential.
TECHNOLOG/ES /AC*
STAR GATE TECHNOLOGIES INC.
33800 Curtis Blvd., Eastlake, OH 44094
(216) 951 -5922 TELEFAX NO. (216) 946-6892
symbol-table maintenance must be per¬
formed twice—once by C++ and once
by C. The resultant C file is typically
large and generates a great deal of disk
I/O. The performance degradation may
not be noticeable on a minicomputer
or mainframe UNIX system, but it is
painfully evident on a PC.
Before C++ can be used, Microsoft
C must already be installed on the sys¬
tem, requiring a separate purchase be¬
fore either preprocessor can be used.
Both Lifeboat and Guidelines include
Stroustrup s book as part of the docu¬
mentation. Both preprocessors make
heavy use of DOS environment varia¬
bles, which can create problems for
users with early (2.x) releases of DOS,
where environment size is limited to
160 bnes. The Microsoft C compiler
utility SETENV can be used to patch
COMMAND.COM to allow additional
environment space.
Both also generate output in C
code that can be debugged with Micro¬
soft’s powerful CodeView debugger.
Because both use the Microsoft com¬
piler and linker, they can interface with
commercially available libraries, such
as those by Greenleaf Software, Inc. or
Blaise Computing, Inc. Except for vir¬
tual functions, data structures created
in C++ classes have no hidden over¬
head such as links or pointers; they can
be passed freely among C++, C, and
assembly functions according to stan¬
dard calling conventions.
After preprocessing, the C source
generated for the program is rather
dense, but otherwise compliant with
the standard described by Kernighan
and Ritchie. The lengthy header decla¬
rations contained in the include file,
stream.lixx, have been omitted for clar¬
ity (see listing 2, INTSET.C).
As the listing shows, the translated
C code makes heavy use of long identi¬
fiers to translate C++ references such
as intset::insert() into legal C-ftinction
names, the #line preprocessor direc¬
tive, and casts. In actual use, this C
code is not maintained directly; instead,
the C++ source is edited and prepro¬
cessed each time it is modified.
Currently, no cross-reference or
LINT-like utilities on the PC directly
support C++ source code. However,
because C++ already checks function
arguments, some of die key functions
of lint have been incorporated into the
language itself. Only Advantage accepts
the Microsoft extensions to C—key
words near, far, and pascal—that are
used in Microsoft Windows. The Micro¬
soft extensions are not portable to
other environments such as UNIX.
174
CIRCLE NO. 177 ON READER SERVICE CARD
PC TECH JOURNAL
I'llli: PlUMiUAMMI
i
SHW
provides complete information, advice, guarantees and every product for Microcomputer Programming.
Practical Translators help leave
BASIC behind
sm(BsJh(SMi
BASICA
CZD
PASCAL
Benchmark BASICA Turbo Lattice C
595 sec I 4 sec 3 sec
597 sec 5 sec 2 sec
50 sec 6 sec 6 sec
55 sec No double 6 sec
Free information about BAS_C, BAS_PAS, call
Gotoless Conversion, Box 835910, Richardson, TX 75083
Phone (214) 221-0383 Demo Disk $5.00
BAS PAS $129 BAS C $169
NEW!From Sterling Castle...
BASIC Development tools
Powerful “Automatic Programming” Tools
That Save You Hours of Valuable Time.
The novice or power programmer, can easily add these professional features.
■ Screen Builder
■ B+ Tree
■ EZ Screen Pop-up Windows
■ Help Message System j
BASIC Development Tools^*^ (BD'H'^) is
compatible with the newest, fastest compilers,
including Microsoft QuickBASIC™ and Borland
Turbo Basic.™ In BDT you have four powerful
aids that can be u.sed separately or together.
Screen Builder System translates the painted
screen image into BASIC code which then can be merged in your program.
B+Tree Data Manager is a very fa.st data file index .system providing both
direct and sequential access to data. Complete source provided.
EZ Screen Pop-up Window Manager, written in assembler, easily inserts
menus, windows, notepads. Saves a portion of the .screen to/from a buffer.
Help Message System allows the creation of context sensitive help messages in
your application program.
With BDT you have four of the most popular programming aids for $89
Includes two diskettes and 220 page manual. . ^
60 DAY FREE TRIAL. STERLING CASTLE'"^^
ORDER rODAM ( 800 ) 722-7853 Sterling Castle. 702 Washington St.. Suite 174 ^^^^^^
( 213 ) 306-3020 in California MannadeiRe>.cA‘j<i :‘^2
PROGRAMMABLE
EDITOR
FREE fully functional DEMO disk!
Stunning speed. Unmatched performance. Total flexibility.
Simple and Intuitive operation. The newest VEDIT PLUS
defies comparison.
Other editors just don’t offer this wide a range of features:
• ‘Off the cuff macros • Execute DOS commands
• Built-In macros • Configurable keyboard layout
• Keystroke macros • ‘Cut and paste’ buffers
• Multiple file editing • Undo line changes
• Windows • Paragraph justification
• Macro execution window • On-line calculator
• Trace & Breakpoint macros
VEDIT PLUS performed 10 times faster than Its nearest
competitor in a pattern matching search test and replaced
patterns even faster.
Go ahead. Call for your free, fully functional demo today.
You’ll see why VEDIT PLUS has been the #1 choice of pro¬
grammers, writers, and engineers since 1980.
Available for IBM PC’s, MS-DOS, and CP/M.
CompUVien
CompuWew
1955 Pauline Blvd . Ann Arbor. Ml 48103 (313) 996-1299. TELfeX 701821
All trademarks acknowledged
Call Today for FREE detailed QAA QAAiC
information or try RISK-FREE OUU-^Zl-OUUO
for 31 days any product on this page. HOURS: 8:30 A.M.-8:(X)P.M. E.S.T.
5- P Pond Park Road, HIngham, MA 02043 Mass: 800-442-8070 or 617-740-2510 5/87
FREE*: Probe the Minds of 19
World-Class Programmers!
Programmers at Work is a fascinating collection of interviews with industry
leaders like Jon Sachs, Wayne Ratliff, Dan Bricklin, and Bill Gates. “Prefaced
by a short biography and including program doodles and samples of source code,
each interview examines the forces, the events, and the personality traits that have
influenced the programmers’ work.”
FREE* or Only $14.95! — from the jacket
NOW: Special OFFER!
via coupon (or mention this ad)
Payment method:
Accl. # _
Your Computer: .
Order any product on this page OR
$250 of any software and get
Programmers at Work FREE!
MasterCard/VISA
UPS Ground $3/item. Air $6/item. (except book): _
(Call about other methods) Total: _
Offer expires 9/30/87.
The Programmer's Shop, 5 Pond Park Rd., Hingham, MA 02043
(800) 421 -8006 or in MA (617) 740-2510 P
CIRCLE NO. 151 ON READER SERVICE CARD
From micro to mainframe,
Cnsio’s got the hardware for your software.
At first glance, it may look like an
ordinary calculator, but the Casio
solar CM-100 is anything but. It’s
an extraordinary software tool
that’s as useful in programming an
Apple™ as it is a mainframe IBM™
The key to the CM-100’s
incredible flexibility is Casio’s
adjustable bit-size selector which
can be set to suit any size com¬
puter up to 32 bits. And its block
display which can, by scrolling
blocks of 8 digits at a time, display
up to a 32 bit word.
But there’s much more to this
pocket-size powerhouse. It can do
base conversions from binary/
octal/decimal/hexadecimal modes
and can store in its memory
numbers in any base. It also has
Shift, Rotate, Arithmetic Shift and
Boolean functions that include
AND, OR, XOR and NOT.
Perhaps what is most extraor¬
dinary about the CM-100 though,
is not how much it can do, but how
little it costs to do it. The CM-100 is
the only calculator that’ll let you do
all your software figuring for less
than you’d figure to pay for an
average ($25.00) textbook.
The more you work with com¬
puters—whatever their size—the
more you need a CM-100. Whether
you’re a student or professional,
it’s the one piece of hardware that
will make designing your software
easier.
Apple and IBM are trademarks of the Apple and IBM Corporations.
Where miracles never cease
Casio, Inc. Consumer Products Division: 15 Gardner Road, Fairfield, NJ 07006 (201) 882-1493, Los Angeles (213) 803-3411
CIRCLE NO. 112 ON READER SERVICE CARD
SUCCEEDING C
One noticeable difference of Ad¬
vantage is its constructor linker step.
Advantage C++ generates a reference to
a special function when static or exter¬
nal objects are declared; constructor
linker searches the map file created by
link for this function’s reference, know¬
ing that external or static objects follow
it. It then splices the appropriate calls
into the start-up code so that the ob¬
jects are initialized correctly.
With an automatic variable allo¬
cated on the stack, calling a constructor
presents no problem because its scope
begins after main() has started. Statics
and externals, however, begin their
scope before main() has started. The
same is true of destructors; for exam¬
ple, memory has to be freed after
main() has finished, when the program
has exited. The constructor linker
patches the start-up code for main() in
the .EXE file to correctly call construc¬
tors for any static or external objects in
the program. On UNIX systems, the
constructor linker also updates mem¬
ber-function cross references and per¬
forms other post processing.
In contrast. Guidelines imbeds a
“magic number” before external or
static objects. It then searches for this
number in the .EXE file when the mod¬
ule is started, knowing an object to be
constructed should follow this number.
This essentially defers the constructor
linking until runtime.
Although this method eliminates
the extra constructor-linker step, it can
cause serious problems if static code or
data in the program happen to match
the magic number. Given the fact that
C++ takes such immense care to en¬
sure code reliability, the magic-number
method seems rather unreliable.
Table 1 shows the basic specifica¬
tions of these two packages, which are
quite similar. They both support the
language as defined in die Stroustrup
book and require fairly hefty resources,
including a hard disk if the Microsoft
compiler and libraries are included.
GUIDELINES GAPS
Guidelines C++ is installed using a
batch file supplied with the package.
The batch file builds a subdirectory
called \CPP for the software, then allo¬
cates subdirectories named \CPP\BIN,
\CPP\LIB, and \CPP\INCLUDE, mirror¬
ing the organization of Microsoft C.
The BIN and LIB environment variables
must be set to recognize these new
directories for compilation.
The Guidelines C++ documenta¬
tion is rather sketchy; its manual con¬
sists of a very slim section on installing
TABLE 1: Compiler Spedfical ions
GUIDELINES
LIFEBOAT
Product
Guidelines C+ +
Advantage C+ +
Version tested
1.1
1.1M3
Price
1195
$495
Minimum disk space required'*
720KB
720KB
Minimum RAM
512KB
640KB
Supports full C+ + language
•
•
Supports Microsoft C extensions
Memory models supported
O
•
Large
•
•
Medium
•
O
Compact
•
o
Small
•
•
^ Does not include Microsoft C compiler and libraries.
• = Yes
0 = No
Their common heritage in the AT&T C++ compiler makes these two products
basically similar; however, some important differences must be considered.
Guidelines C++, some UNEX-format ref¬
erence pages on the actual programs,
and AT&T’s C++ Translator release
notes. In addition, the documentation
that is provided is quite poor: it has no
index, the pages give the appearance of
being single-sided photocopies, and it
contains barely enough information to
install and use the software.
Similar to Advantage, Guidelines
replaces the Microsoft compiler driver
with one that processes files through
the C++ translator. No constructor
linker is required for Guidelines C++,
saving an extra preparation step. The
driver is one of several batch files (one
for each model type and compilation
target) that can be modified easily.
FULL AT&T C++ for half the price of our competitors!
Guidelines announces its port of version LI of AT&T’s C++ translator. As an
object-oriented language, C++ includes: classes, inheritance, member functions,
constructors and destructors, data hiding, and data abstraction. ‘Object-oriented’
means that C++ code is more readable, more reliable and more reusable. And that
means faster development, easier maintenance, and the ability to handle more
complex projects. C++ is Bell Labs’ answer to Ada and Modula 2. C++ will
more than pay for itself in saved development time on your next project.
C++
from GUIDELINES for the IBM PC: $195
Requires IBM PC/XT/AT or compatible with 640K and a hard disk.
Note: C+ + is a translator, and requires the use of Microsoft C 3.0 or later.
Here is what you get for $195:
• The full AT&T vl.l C++ translator.
• Libraries for stream I/O and complex math.
• "The C++ Programming Language", the
definitive 327-page tutorial and description
by Bjarne Stroustrup, designer of C+ + .
• Sample programs written in C+ + .
• Installation guide and documentation.
• 30 day money back guarantee.
To order:
.send check or money order to:
GUIDELINES SOFTWARE
P.O. Box 749
Orinda, CA 94563
To order with Visa or MC,
phone (415) 254-9393.
(CA residents add 6% tax.)
C++ is ported to the PC by Guidelines under license from AT&T.
Call or write for a free C++ information package.
SEPTEMBER 1987
CIRCLE NO. 221 ON READER SERVICE CARD
177
The Advanced Programmer's Editor
That Doesn't Waste Your Time
Fast, EMACS-style commands—completely reconfigurable
Run other programs without stopping Epsilon—concurrently!
C Language support—fix errors
Powerful extension language
Multiple windows, files
Unlimited file size, line length
30 day money-back guarantee
while your compiler runs
• Great on-line help system
• Regular Expression search
• Supports large displays
• Not copy protected
Only $195
l_LJ
anu
Software Ltd.
5740 Darlington Road
Pittsburgh, PA 15217
Cali
( 412 ) 421-5911
for IBM PC/XT/AT's or compatibles
CIRCLE NO. 125 ON READER SERVICE CARD
Brand New From Peter Norton
A PROGRAMMER’S EDITOR
The Norton Editor" is a trademark or Peter Norton Computing. Inc. c 1986 Peter Norton Computing
that’s lightning fast with the hot
features programmers need
Direct from the
man who gave you
The Norton Utilities,
Inside the IBM PC,
and the Peter Norton
Programmer's Guide.
INORTON
EDITOR
This is the program¬
mer’s editor that I wished
I’d had when I wrote my
Norton Utilities. You can
program your way to
glory with The Norton
Editor.”
Easily customized, and sav
Split-screen editing
A wonderful condensed/outline display
Great for assembler, Pascal a«d C
Peter Norton Computing, Inc., 2210 Wilshire Boulevard,
Santa Monica, CA 90403,213-453-2361. Visa,
Mastercard and phone orders welcome.
CIRCLE NO. 183 ON READER SERVICE CARD
SUCCEEDING C
The Guidelines preprocessor does
not support the range of options pro¬
vided by the Advantage preprocessor
(discussed below), making it somewhat
easier to use. However, the Advantage
compiler can be used as a front-end to
both Microsoft C and C++, but the
Guidelines processor can compile only
C++ programs. It has no provision for
compiling C-only programs and passing
switches to the Microsoft compiler.
ADVANTAGE IDIOSYNCRASIES
Installation of Advantage C++ is rela¬
tively straightforward. A batch file is
provided to copy the preprocessor, li¬
braries, header files, and sample pro¬
grams into appropriate directories.
Only passing mention is made of
the fact that the Microsoft large-model
libraries must be present for the pre¬
processor to operate. In fact. Advantage
supports only the large and small mod¬
els, which could cause problems in
applications using other memory mod¬
els. In addition, although the documen¬
tation lists 512KB as the minimum
amount of RAM needed, even the
smallest sample program would not
compile correctly until 640KB was in¬
stalled on a DOS 3.2 system.
Advantage C++ includes on dis¬
kettes all the programs in The C++ Pro¬
gramming Language, which makes
learning C++ by self study easier. How¬
ever, the documentation lacks an index
and is poorly organized. The manual
consists of the Stroustrup book, an
additional 58 pages describing the C++
implementation for both the Lattice and
Microsoft compilers, and the AT&T C++
translator documentation.
In normal use. Advantage C++ acts
like a complete driver for the compila¬
tion process. It compiles groups of
C++ or regular C programs with a sin¬
gle command. Prefix characters segre¬
gate compilation switches for use by
either the C++ or the C compiler.
After compilation, link generates a
.EXE file, followed by a constructor
linker. The Advantage driver does not
handle the Plink linker by Phoenix
Computer Products, thus disallowing
that linker’s overlay facility, which is
useful in large programs.
Advantage’s development environ¬
ment is very similar to the standard
Microsoft C environment, because the
additional .EXE files, libraries, and
header files are all installed into the
appropriate Microsoft directories. Other
than the added compilation steps (and
some changes to Microsoft compilation
switches), using Advantage C++ is a rel¬
atively painless, but slow, process.
178
PC TECH JOURNAL
TABLE 2: Beiicbnuirk Resii/B
PREP
COMPILE
LINK
CONSTRUCT
TOTAL
RUN
SIEVE
MSC only
N/A
27.9
16.0
N/A
43.9
87.3
Guidelines
21.0
25.3
16.2
N/A
62.5
87.2
Lifeboat
28.3
21.\
24.2
2.8
82.4
87.3
INTSET
Guidelines
50.2
58.0
31.4
N/A
139.6
4.7
Lifeboat
62.3
59.2
41.7
15.8
179.0
5.1
COMP
Guidelines
61.0
46.4
38.8
N/A
146.2
1.4
Lifeboat
83.3
48.2
46.7
19.3
197.5
1.9
NODES
Guidelines
23.9
63.3
16.3
N/A
103.5
0.9
Lifeboat
23.0
62.4
24.0
3.0
112.4
1.1
Times shoivn are in seconds.
Benchmarks were done on an IBM PC/XT with 640KB memory, usmg DOS 3.2.
C++ was designed to add very little execution overhead to programs, and it succeeds in this respect. These two products are
implemented as preprocessors, which extends the already-lengthy compile times of the Microsoft C compiler (version 4.0).
MAKING THE C++ GRADE
Four sample test programs were com¬
piled and run by both compilers: sieve,
intset, nodes, and comp. The Eratosthe¬
nes Sieve program was run through tlie
Microsoft C compiler alone to have an
indication of the additional overhead
generated in C++ programs. Intset,
taken from the Stroustrup book, gener¬
ates a set of integers, then prints its
members. Nodes, also from die book,
tests compilation of virtual functions
and class inheritance. Comp defines a
class of complex numbers and creates
two objects from it. The Guidelines
compiler, as shipped, could not run
this test because a function was missing
from its library. A call and a quick
patch from Guidelines Software re¬
solved the problem.
The test machine was a PC/XT with
a 10MB hard disk and 640KB of mem¬
ory running DOS 3.2. CONFIG.SYS had
BUFFERS = 20 and FILES = 20 and the
system was rebooted between tests to
eliminate the effect of disk buffering.
Test results are shown in table 2. The
constructor-linker step was timed sepa¬
rately, and this step was included only
for the Advantage compiler.
Overall, Guidelines C++ tested
slightly faster than the Advantage C++.
The Advantage constructor-linker step
also added a few seconds to the com¬
pile times; however, both compilers
added appreciable time to what is al¬
ready a slow compilation process with
the Microsoft C compiler.
The object modules generated by
the two compilers also were very close
in performance, and close to the base¬
line performance of native C code. Nei¬
ther C++ compiler added much run¬
time overhead to normal C code, as
shown in the Sieve timings.
The tests confirm that, although
programs take longer to process
through the C++ compilers than
through a C-only compiler, the code’s
performance levels are close to stan¬
dard C code. Thus, C++ could be an
effective tool where the slower compi¬
lation times are not as appreciable,
such as in a 80386-based system.
Both Advantage C++ and Guide¬
lines C++ are essentially ports of the
AT&T C++ compiler running under
UNIX System V. Their size and speed
are comparable, although Guidelines is
slightly faster. The Advantage documen¬
tation is better, but the Advantage pack¬
age is also much more expensive. Both
suffer from sketchy documentation that
is well below the current standard for
C compilers on the PC.
Unlike other object-oriented pro¬
gramming languages, such as Actor and
Smalltalk-80, C++ is designed to work
on top of an existing low-level lan¬
guage. But this construction is a
double-edged sword. The tests show
the performance of compiled C++ pro¬
grams is extremely good because of
the optimization available from the
Microsoft compiler; however, the driver
syntax and environment required to
use C++ is cumbersome and tlie extra
processing time is a nuisance.
Although C++ is a better C lan¬
guage, incorporating many improve¬
ments over standard C, its implementa¬
tion as a preprocessor could hurt pro¬
grammer productivity by adding extra
time to the process of compiling and
linking programs. Because the fast Bor¬
land Turbo C and Quick C compilers
finally are becoming available, C++ is
an anachronism in many ways—an at¬
tempt to improve programmer produc¬
tivity by adding new statements to C,
rather than improving the process of
writing and debugging programs in C.
For programmers developing size¬
able software packages with a large
team of programmers, the extra expres¬
sive power and syntactic rigor of C++
is well worth examining closer. For the
rest, C++ is not recommended until a
faster programming environment can
be provided. 1 Miiimim
Guidelines Software
P.O. Box 749
Orinda, CA 94563
415/254-9393
Guidelines C++ 1.1
CIRCLE 354 ON READER SERVICE CARD
Lifeboat Associates
55 South Broadway
Tarrytown, NY 10591
800/847-7078; 914/332-1875
Advantage C++ 1.1 M3
CIRCLE 355 ON READER SERVICE CARD
Microsoft Cojporation
16011 N.E. 36th Way
P.O. Box 97017
Redmond, WA 98073
800/426-9400; 206/882-8080
Microsoft C Compiler 4.0
CIRCLE 356 ON READER SERVICE CARD
Martyr Franz is a programmer for Allen Test
Products, a division of The Allen Group,
Inc., located in Kalamazoo, Michigan.
SEPTEMBER 1987
179
SUCCEEDING C
USTINGl: INTSET.CXX
return 0; // not found
>
#include <streani.hxx>
void print_in_order(intset* set)
class intset C
int var;
int cursize, tnaxsize;
set->iterate(var);
int *x;
while (set->ok(var)) cout « set->next(var) « "\n";
public:
>
intset(int m, iit n);
-intsetO;
main ()
f
int member(int t);
int count = 0;
void insertCint t);
int m = 100;
int n = 10000;
void iterate(int& i) { i = 0; >
intset s(m,n);
int ok(int& i) C return i<cursize; >
int next(int& i) C return x[i++]; >
int t = 0;
>;
while (count <m) i
t = randint(n);
extern void exit (int);
if (s.mefi±>er(t)==0) {
s.insert(t);
void error(char *s)
count++;
C
>
cout « "set: " « s « "\n";
>
exitd);
print_in_order(&s);
>
>
extern int atoi(char *);
UST1NG2: INTSET.C
extern int randO;
#line 1 "intset.cpp"
int randint (int u) //in the range 1..u
/* «cfront 05/20/86» */
C
/* < intset.cpp */
int r = randO;
if (r < 0) r = -r;
#line 1 "intset.cpp"
return 1 + r%u ;
>
#line 4 "intset.cpp"
struct intset { /* sizeof = 6 */
intset::intset(int m, int n)
int _intset_cursize ;
if (m<1 II n<m) errorC'illegal intset size");
#line 5 "intset.cpp"
cursize = 0;
int _intset_maxsize ;
maxsize = m;
int *_intset_x ;
X = new int [tnaxsize];
> ;
>
struct intset *_intset_ctor ();
int _intset_^dtor ();
intset::-intsetO
C
#line 11 "intset.cpp"
delete x;
int _intset_member ();
>
int _intset__insert ();
void intset::insert(int t)
#line 19 "intset.cpp"
C
extern int exit ();
if (++cursize > tnaxsize) errorC'too many elements");
int i = cursize-1;
#line 21 "intset.cpp"
x[i] = t;
int error (_auto_s )char *_auto_s ;
while (i>0 && xti-1]>x[i]) €
i
#line 23 "intset.cpp"
int t = x[i];
_ostream_IshiftFPC_ ( (struct ostream *)_ostream_IshiftFPC_ (
xCi] = x[i-1];
(struct ostream *)_ostream_IshiftFPC_ ( & cout , (char *)"set:
x[i-1] = t;
i--;
") , (char *)_auto_s ) ,
#line 23 "intset.cpp"
>
(char *)"\n") ;
>
_cPP_exit_( 1 ) ;
>
int intset::tnember(int t)
<
extern int atoi ();
int 1 = 0;
int u = cursize-1;
#line 29 "intset.cpp"
extern int rand ();
int m =0;
while (1 <= u) <
#line 31 "intset.cpp"
m = (l+u)/2;
int randint (_auto_u )int _auto_u ;
if (t < x[m])
C
u = m-1;
#line 33 "intset.cpp"
else if (t > x[tn])
int _auto_r ;
1 = tiH-1;
else
#line 33 "intset.cpp"
return 1; // found
_auto_r = rand ( ) ;
>
if (_auto_r < 0 )_auto_r = (- _auto_r );
180
PC TECH JOURNAL
CLONES
I*]
DESKTOP PUBLISHING
FACE IHE FACTS
AND THE FUTURE.
The industry standards are chang¬
ing. ..new operating systems have
been introduced, applications are
being built with more powerful
tools, and desktop work stations
will be at the heart of increasingly
complex, development operations
with a need to link both like and
unlike machines and software.
How will these changes affect your
computer buying, development
and integration? What may have
been wise hardware and software
decisions a few months ago may
be dangerous next month. And
your state-of-the-art system may
be obsolete by the end of the year.
Tune into the new technology with
PC TECH JOURNAL, the magazine
written for systems professionals
who must tackle important develop¬
ment and integration decisions for
their company.
No other magazine brings user,
developer and integrator concerns
to the table quite like PC TECH
JOURNAL. We face the issues.
We analyze new products to help
you make wise purchasing and
planning decisions. We help keep
your system at optimum levels
of performance.
This is the magazine written for
designers, DP/MIS professionals,
integrators and consultants who
are involved in advanced IBM PC
applications and development.
We cover today’s technology and
tomorrow’s innovations. Sub¬
scribe today, you’ll receive 13
issues a year, including the special
PC TECH JOURNAL DIRECTORY
issue and SAVE 50% OFF the sin¬
gle-copy price of $53.35. Mail the
attached order card today or
caU toU-free 1-800-852-5200.
■ Two years (26 issues) only
$53.35. SAVE 50%!
■ One year (13 issues) only
$26.70. SAVE 50%!
Basic annual subscription
price $34.97.
DISC DATA MANAGER:
For people who need
a lot of storage now...
Introducing the DISC DATA MANAGER™
from Seagate. The high-capacity storage subsystem
that expands module by module to meet your
changing needs.
Since you choose the capacity, you never pay for
more storage than you need. Yet, affordable growth
is there when you need it.
The DISC DATA MANAGER is a SCSI sub¬
system that provides compatible storage for many
environments. Including PC-DOS* and Novell’s
popular Advanced Netware?
As your needs for storage sharing increase, the
DISC DATA MANAGER can be converted into
the LAN DATA MANAGER^ a high-performance,
IBM*-compatible file server.
But this is just half the story.
CIRCLE NO. 219 ON READER SERVICE CARD
SUCCEEDING C
return (1 + (_auto_r % _auto_u ));
>
struct intset *_intset_ctor (_auto_this , _auto_m , _auto_n )
#line 17 "intset.cpp"
register struct intset *_auto_this ;
#line 38 "intset.cpp"
int _auto_m ;
#line 38 "intset.cpp"
int _auto_n ;
{ if (_auto_this == 0 )_auto_this = (struct intset *)_new ( (long)6);
if ((_auto_ni < 1 )|| (_auto_n < _auto_(n ))error (
"illegal intset size") ;
_auto_this -> _intset_cursize = 0 ;
_auto_this -> _intset_maxsize = _auto_m ;
_auto_this -> _intset_x = (((int *)_new ( 2* _auto_this ->
_intset_niaxsize ) ));
return _auto_this ;
>
#line 46 "intset.cpp"
int _intset_^dtor (_auto_this , _auto_free )
#line 17 "intset.cpp"
register struct intset *_auto_this ;
#line 49 "intset.cpp"
int _auto_free ;
#line 47 "intset.cpp"
C if (__auto_this K
#line 48 "intset.cpp"
_delete ( (int *)_auto_this -> _intset_x ) ;
if (_auto_this )if (_auto_free )_delete ( (int *)_auto_this ) ;
> >
;
#line 51 "intset.cpp"
int _intset_insert (_auto_this , _auto_t )
#line 17 "intset.cpp"
register struct intset *_auto_this ;
#line 51 "intset.cpp"
int _auto_t ;
<
#line 54 "intset.cpp"
int _auto_i ;
#line 53 "intset.cpp"
if ((++ _auto_this -> _intset_cursize )> _auto_this ->
_intset_niaxsize )error ( "too many elements") ;
_auto_i = (_auto_this -> _intset_cursize • 1 );
(_auto_this -> _intset_x [_auto_i ])= _auto_t ;
#line 57 "intset.cpp"
while ((_auto_i > 0 )&& ((_auto_this -> _intset_x [_auto_i - 1
])> (_auto_this -> _intset_x [_auto_i ))))C
#line 58 "intset.cpp"
int _auto_t ;
#line 58 "intset.cpp"
_auto_t = (_auto_this •> _intset_x C_auto_i ]);
(_auto_this -> __intset_x C_auto_i ])= (_auto_this -> _intset_x
[_auto_i. - 1 ]);
(_auto_this -> _intset_x [_auto_i -13)= _auto_t ;
_auto_i -- ;
>
>
;
int _intset_member (_auto_this , _auto_t )
#line 17 "intset.cpp"
register struct intset *_auto_this ;
#line 65 "intset.cpp"
int __auto_t ;
C
#line 67 "intset.cpp"
int _auto_l ;
int _auto_u ;
#line 70 "intset.cpp"
182
PC TECH JOURNAL
int _auto_m ;
#line 67 "intset.cpp"
_auto_l = 0 ;
_auto_u = (_auto_this -> _intset_cursize - 1 );
#line 70 “intset.cpp"
_auto__ni = 0 ;
while <_auto_l <= _auto_u )<:
#line 72 “intset.cpp”
_auto_tii = ((_auto_l + _auto_u )/ 2 );
if (_auto_t < (_auto_this -> _intset_x [_auto_m ]))
#line 74 “intset.cf^"
_auto_u = (_auto_in - 1 );
else if (_auto_t > (_auto_this -> _intset_x [_autojn ]))
#line 76 "intset.cpp”
_auto_l = (_auto_m + 1 );
else
#line 78 "intset.cpp"
return 1 ;
>
return (int )0 ;
>
int print_in_order (_auto_set )struct intset *_auto_set ;
C
#line 85 "intset.cpp"
int _auto_var ;
#line 86 "intset.cpp"
int _auto_^Xa_IshiftFI_ostream ;
( (*((int *)(& _auto_var )))= 0 ) ;
#line 87 "intset.cpp"
while (( (*((int *)(& _auto_var )))< ((struct intset *)_auto_set
)-> _intset_cursize ) )_ostream_IshiftFPC_ ( (struct ostream
*)( (_auto_^Xa_IshiftFI_ostream = ( ((struct
#line '67 "intset.cpp"
intset *)_auto_set )-> _intset_x ((*((int *)(& _auto_var )))++ ])
)f ( _ostream_IshiftFL_ ( ((struct ostream *)(& cout )), ((long
)_auto_Xa_IshiftFI_ostream )) )
#line 87 "intset.cpp"
) , (char *)"\n") ;
>;
int main ()C _main();
#line 91 "intset.cpp"
i
#line 92 "intset.cpp"
int _auto_count ;
int _auto_m ;
int __auto_n ;
struct intset _auto_s ;
#line 97 "intset.cpp"
int _auto_t ;
#line 92 "intset.c]^"
_auto_count = 0 ;
_auto_m = 100 ;
_auto_n = 10000 ;
_intset_^ctor ( & _auto_s , _auto_m , _auto_n ) ;
#line 97 "intset.cpp"
_auto_t = 0 ;
while (_auto_count < _auto_m )€
#line 99 "intset.cpp"
_auto_t = randint ( _auto_n ) ;
if (_intset_member ( & _auto_s , _auto_t ) == 0 ){
#line 101 "intset.cpp"
_intset_insert ( & _auto_s , _auto_t ) ;
_auto_count ++ ;
>
>
print_in_order ( & _auto_8 ) ;
#line 95 "intset.cpp"
_intset_dtor ( & _auto_s , (int )0 > ;
>
_cPP_exit_(0);>;
/* the end */
... and a lot more
in the future.
With the DISC DATA MANAGER, you can add
more disc drives as your need for storage grows.
Adding one or more drives gives you a capacity range
from 160 MB to over 1 gigabyte.
Using multiple drives, you can perform
overlapping operations. Or back up important files
on separate drives. There’s even an optional 40 MB
tape drive for archival storage.
Best of all, the DISC DATA MANAGER is
made by Seagate, the people who have built reliable
performance into more than 6 million 554" hard
disc drives.
For more information on the storage subsystem
that grows with you, call us. 800-468-DISC.
Ask for Tim.
^Seagate
DISC DATA MANAGER
and LAN DATA MANAGER
stered trademarks of
nal Business
Corporation. Novell
edNet ware is a trade¬
mark of Novell, Inc.
CIRCLE NO. 219 ON READER SERVICE CARD
SEPTEMBER 1987
183
A Telt^ldeo
© 1987TeleVideo Systems. Inc. TeleSTAR/386 is a trademark of TeleVideo Systems, Inc. MS-DOS is a trademark of Microsoft Corp. UNIX is a registered trademark of Bell Laboratorie
ISETTINGS
'PLOT
jUTILm
0.56,13.06
NowThe Only Limit
Is¥3ur Imagination.
Introducing TeleSTAR, the first open system
386 engineering workstation.
The new TeleVideo® TeleSTAR/386'''
Engineering Workstation is the first
workstation to give you 16 MHz
80386 power, high resolution
graphics and Ethernet'” networking.
It even comes with an affordable
price: just $10,995.
The newTeleSTAR/386 is an
“open system!’ with all the features
you expect to find on a Motorola
68020-based workstation. It’s the
only way to get all the flexibility,
portability and connectivity
you need.
It uses Microport'” DOSMerge
386'” for concurrent UNIX® system
V3 and MS-DOS'” operation to give
you access to the widest range of
technical and business software.
It also features MIT’s X Window,'”
the de facto standard user-interface
system for multitasking on one
screen, plus GKS software for stan-
;autocw)
l-tt 41 »
Ismip
iBLOCKS
DIH:
IDISPUY
i>TeIeVideo
Motor/ Pump
Assembly |
MechciTiicctl
Mi(.rr>|)<IIt .111(1 |i( ''■■Mt uv '(Hii.iic
dard graphics applications.
To present your work at its
best, there’s a 1280x 1024 pixel
high-resolution display and 256
simultaneous colors from a palette
of 4,096 (with 16.7 million colors
optional), and a monochrome dis¬
play with the same high-resolution
and four grey levels. There’s even a
mathematical co-processor to help
speed up your calculations.
And to help you share the
wealth, there’s a built-in Ethernet
interface with TCP/IP and RES
software under UNIX system V.3
supporting NFS"'’ from Sun Micro¬
systems. Together, they let you
network heterogeneously with
mainframes, stand-alone work¬
stations and PCs.
OurTeleSTAR/386 Engineer¬
ing Workstation comes with features
you might not expect at such a low
price. Including a 17-inch color
monitor (a 19-inch monochrome
monitor is optional). A 3-button
optical mouse. And 4 Mbytes of 32-
bit RAM memory that’s expandable
to 16 Mbytes.
If you’re ready for a worksta¬
TfeleMded
THE VISION YOU NEED TO SUCCEED.
CIRCLE NO. 182 ON READER SERVICE CARD
Call 1-800-835-3228
tion that gives you the power you
need at a price you can afford, you’re
ready for the new TeleSTAR/386.
Call us toll-free or write today,
for more information.
TeleVideo Systems, Inc.,
1170 Morse Avenue, Sunnyvale, CA
94088-3568.
Inexpensive switches—either mechanical
or electronic—can be more effecHv^':
than LANsfor sharing peripherals. J
conhec^l^l
cost
a ^rial
already'^
for
little,;^'
I ocal area networks are almost tlie
automatic answer to all questions of
i sharing equipment. Using a LAN
to share a printer or another periph¬
eral, however, is like hitting a thumb¬
tack with a sledge hammer.
An alternative metliod* is to use a
peripheral-sharing switch. The simplest
of these switches lets t^ computers
share one peripheral; a two-position
knob pn the switch selects which com¬
puter drives the peripheral. More so¬
phisticated electronic switches elimi¬
nate manual switching and provide out¬
put buffering for multiple computers.
Most computers do not require
any hardware or software changes to
use a peripherahsharing switch. On
each computer, the serial or parallel
port normally connected directly to the
peripheral is instead conneaed to the
switch; a cable leads from the switch to
the peripheral that is being shared.
Applications for the most part use the
peripheral as if it were connected di-
recdy to the computer.
LANS VS. SWITCHES
Peripheral-sharing switches can be use¬
ful in many small businesses and de¬
partments for sharing printers, plotters,
and modems; to perform occasional,
file transfers; or to provide a small
local electronic mail system. If a LAN Is
already installed or added later to a
switch installation, the switch can be
integrated into the LAN (see figure. If '.
All computers on tlie LAN can use die '
printer through the LAN’s print sefver»J •
which is connected to the switcfr
puters that are not on the LAN, perh^
because their applications canhpt
the memory a IAN, requires, alsO jC^ao -A
access the printer throu^ the
For these smaller installatic^i!^-'''"
ripheral-sharing switches have
LANALTERNmVES
Even when a LAN is installed, a switch can be useful. Here, two non-networked PCs share the printer with the network.
more sophisticated LAN functions, such
as file sharing, electronic mail and
messaging, and multiuser applications.
Although some serial switches allow
two computers to communicate and
perform file transfers, they lack the
transparent operation of a LAN and are
much slower; the transfer occurs at se¬
rial-port speeds (typically 300 to 19.2K
baud), rather than at LAN speeds (typi¬
cally IM to lOM bits per second).
This low speed also limits growth.
With a LAN, hundreds of PCs and pe¬
ripherals can be built into one net¬
work; with switches, they cannot. Typi¬
cal switch installations contain two to
eight PCs sharing one or two printers.
Most of the more sophisticated
switches can handle perhaps a modem,
a plotter, and a few links to main¬
frames or minicomputers. Adding more
peripherals would push the technology
farther than it was designed to go.
LANs are designed for convenient
multiuser database access; switches are
not. Although some switches let a user
view a file on another computer, only
one user can access a computer at a
time. Access is through the RS-232 port,
which can accommodate only one re¬
mote computer at a time. Some so-
called RS-232 LANs, which use an RS-
232, or asynchronous, port as LAN
hardware, overcome this limitation, al¬
lowing low-speed multiuser access
through die RS-232 port. However, no
units tested provided this feature.
CONSIDERING SWITCHES
Peripheral-sharing switches can be
either mechanical or electronic. A me¬
chanical switch has one or more man¬
ual controls to select the computer
and/or peripheral to be connected. An
electronic switch detects activity on its
input port when a computer transmits
data and automatically connects the
computer to a free output port (and its
attached peripheral). If the output port
is not free, the switch returns a busy
signal to the computer.
Electronic switches are eidier N-
to-N or any-to-any. In an N-to-N switch,
each port must be configured for input
or output. Two-to-one switches, for ex¬
ample, have two inputs and one output.
Other common sizes are two-to-two,
three-to-one, four-to-one, and four-to-
two switches. In an any-to-any switch,
any serial port can connect to any
other serial port for both input and
output, but each parallel port still must
be configured for one or the odier.
Other key considerations in evalu¬
ating switches are the presence of an
internal buffer, support for multiple
simultaneous inputs, and provision for
interconnecting serial inputs and paral¬
lel outputs. When a switch is said to
support multiple, “simultaneous” in¬
puts, input is not truly simultaneous,
although it appears to be. The switch
reserves buffer space for each input
port and continues to scan input ports
even while taking input. If input is de¬
tected on a second port, the switch
jumps quickly back and forth between
the two ports, allotting some buffer
space to each. Switches that do not
allow simultaneous input permit data
from one input port to fill the entire
buffer and do not free the buffer until
that port becomes inactive.
THE MECHANICAL ROUTE
The most appealing aspect of a me¬
chanical switch is price—from $25 to
$200 per computer. Such a switch is
ideal for two to four PCs in the same
area that need occasional access to a
peripheral. A single switch seldom is
used to suppon more than seven com¬
puters. Line extenders can increase dis¬
tances and switches can be cascaded or
daisy-chained to accommodate more
devices (see figure 2). However,
switching in a cascaded configuration is
cumbersome because the user must set
two switches to make tlie connection.
188
PC TECH JOURNAL
Print Master
lets people share printers
Get the most out of your
expensive resources—your
people, your computers and your
printers—with Print Master by
BayTech. Not only does it let your
people and computers share all
of your printers, its buffer keeps
them working instead of waiting.
Easy to set up,
easy to use
Initial setup is menu-
prompted and allows you to
configure Print Master to your
application. You decide which
ports are input and which are
output. You also set such
functions as baud rates,
handshaking, timeout, how
you select a printer, etc.
After setup, you simply
cable Print Master between your
computers and printers, and
you’re ready to go. BayTech’s
Memory Resident Program lets
your PC users select printers via
function keys that correspond to
a menu window.
Print Master keeps
everything running
All users can send data
simultaneously to Print Master’s
dynamically allocated buffer,
keeping your people and com¬
puters working. This first-in-
first-out buffer also sends data
to all printers simultaneously
to keep them running at full
capacity. The buffer size? A big
512K that’s expandable to
one megabyte.
Eleven models with
serial and parallel
An advantage of Print
Master is its flexibility: Any
port can be a computer port
or a printer port. Choose from
eleven models with different
combinations of serial and
parallel ports. Print Master
internally converts serial to
parallel and vice versa on
combination serial/parallel
models. Six ports, $795. Eight
ports, $895. Ten ports, $995.
Circle No. 126 for Dealer, No. 129 for End-User.
Non-buffered models from $339.
GSA pricing available.
Want details?
Contact your dealer or
Bay Technical Associates for
information about Print Master
and BayTech’s complete line of
data communications products,
proudly made in the U.S.A.
Bay Technical Associates, Inc.
Data Communications Products Division
200 N Second St, RO. Box 387
Bay Saint Louis, Mississippi 39520
Telex 910-3334618 BAYTECH
Phone 601-467-8231 or
800 - 523-2702
Hard Locks
for Soft Parts
At Rainbow Technologies, we think protecting
software developers’ investments is very serious
business. That’s why we designed the first fully
effective security solution for software running on
PCs and other computers.
Our family of virtually impenetrable Software
Sentinel hardware keys provides the highest level of
software protection the developer can get. While
remaining invisible to the end user.
Key Sentinel Family Features.
Prohibits unauthorized use of software ° No need
for copy protection □ Unlimited backup copies °
Virtually unbreakable ° Pocketsize key ° Trans¬
parent operation ° Transportable
O Higher level language
interfaces included
O Runs under EXDS on
PC/XT/AT and compatibles
O Parallel port version only
Software
Sentinel'W.
O C)esigned for workstations,
supermicros and minicomputers
O Serial port only (modem-type)
O Algoridmi technique
O We provide detailed interface
specifications: De\'eloper
creates a port driver
O Interf^ requirements; 25 pin
DB25PorDB25S;
RS232/RS422/RS423
O Only signals used: DTR St RTS
from computer; signal ground;
DSR or optional tX2D from
Software &ntinei-W or external
device. TXD, RXD, CTS, RI
passed through.
Gall For Softu^are Sentinel
Evaluation Kit Pricing.
Software
Sentinel.
O Runs under EXDS and Xenix,
on IBM PC/XT/AT and
compatibles
O Algorithm technique
(Never a fixed response)
O Serial or parallel port version
O Minimal implementation effort
O Higher level language
interfaces included
O 100 times faster than fixed-
response devices (1ms)
O For developers who want to
customize or protect multiple
pack^es with one device
O 126 bytes of non-volatile
memory that is propammed
before dbipment of software
O We supply a unique
programming achkpter for
programming the unit
RAINBOW TECHNOLOGIES
18011-A MITCHELL SOUTH
(714) 261-0228 TELEX: 386078
IRVINE. CA 92714 USA
FAX; (714) 261-0260
CIRCLE NO. 157 ON READER SERVICE CARD
LANALTERNMVES
The most common mechanical
switches are two-way, three-way, four¬
way, and cross-matrix. The two-way
switch connects two computers to one
peripheral; the three-way, three com¬
puters to one peripheral; and the four¬
way, four computers to one peripheral.
The cross-matrix switch connects two
peripherals and two computers, alter¬
nating the peripherals between the
computers at die turn of the switch.
The terminology used to identify
these switches is not always consistent.
A two-way switch is often called an AB
or an ABC switch, with A and B the
computer inputs and C the peripheral
output. A three-way switch is also
called an ABC or ABCD switch, and a
four-way, an ABCD or ABCDE.
Mechanical switches are reliable
and easy to use and install, requiring
little more than simply plugging them
in. Because other users share the pe¬
ripheral, the main adjustment with a
mechanical switch is resetting all the
peripheral’s features to the user’s de¬
sired defaults before use. For example,
sending a form feed at the beginning
of each job ensures that a printer will
begin printing at the top of a new
page. Many applications allow the user
to send a printer set-up string before
each print job. Alternatively, the user
can create a short program to send
control codes to the printer.
The bare-bones simplicity of the
typical mechanical switch makes it
more flexible than many of its elec¬
tronic cousins. Mechanical switches are
not affected by the load on the end of
the line; and their connections are in¬
distinguishable from cabled connec¬
tions, except that they can be broken
by the flip of a switch. Like direct-cable
connections, the number of signaling
lines supported is important; not all
switches support the full 25 lines on a
DB-25 connector. For the same reason,
some electronic switches do not allow
modems or plotters to be shared.
With mechanical switches, only a
few devices can be switched, and all
switching is manual, which can be a
problem when the computers, periph¬
eral devices, and/or switches are in dif¬
ferent rooms. Changing positions on
the switch also may generate a small
amount of noise on the line, which can
transmit to the device and result in a
garbled first line of output—another
good reason to insert a form feed be¬
fore any output on a printer.
ELECTRONIC CHOICES
Electronic switches solve some of the
problems associated with mechanical
190
PC TECH JOURNAL
SEIDL
VERSION
MANAGER
Larger configurations can be created by daisy-chaining multiple switches. In the
configuration illustrated here, a 4-to-l switch is fed into a 4-to-2 switch.
switches, however, daisy chaining does
not complicate die switching, because
it is automatic. However, a service pri¬
ority is implicit in daisy chaining—the
more switches a computer must tra¬
verse, die lower its priority.
Electronic switches are much more
likely than mechanical switches to offer
special features such as buffering, ex¬
tended-distance cabling, programmable
control, remote programming, and
multiple concurrent users. By support¬
ing features such as these, a periph¬
eral-sharing switch moves closer to
being a general-purpose switch.
Buffering, which holds print data
in a switch’s internal memory, can
speed PC applications by allowing a
new print job to be accepted while the
previous job continues to print. Al¬
though inserting a stand-alone buffer
between the switch and the printer is
switches. When an electronic switch
senses activity on one of its input ports,
it automatically connects the computer
attached to that port to an available
printer (or other peripheral). After a
period of inactivity on the port, the
switch breaks the connection, thereby
freeing the device for input from an¬
other port. Some products allow the
added convenience of setting the time¬
out period individually for each port.
Although electronic switches have
more capacity than do mechanical
switches, an electronic switch that can
handle 16 devices, including computers
and peqpherals, is considered large,
although Giltronix does make the EZ-
Queue 3000 switch with up to 24 serial
inputs and two parallel outputs. As with
mechanical switches, daisy-chaining can
increase the number of ports served
(see figure 2). Unlike mechanical
RECONSTRUCT any
VERSION of a SOFTWARE
product AUTOMATICALLY.
^Archive Database
tracks all source code revisions
as well as annotative comments.
^Audit Trail Report
provides user specified in¬
formation on any aspect of a
project’s development.
ir Revision Branching
allows any number of revisions
to be created from an existing
revision.
icText Compression
optionally reduces disk storage
requirements.
irMenu Driven Shell
makes SVM easy to use.
★ Price: $ 299.95 + $ 5.00 p&h.
SEIDL
MAKE
UTILITY
NOT just ANOTHER COPY
of the UNIX MAKE.
★ Structured Language to
describe dependencies in a clear,
concise and portable manner.
icRich Command Set
includes parameterized macros,
variables, if-then-else, iteration,
wild cards, macro libraries,
interactive statements, environ¬
ment access and much more !
ir Intelligent Analysis
algorithm handles nested include
files, library dependencies, and
performs consistency tests to
detect errors that other makes
would blindly ignore.
★ Price: $ 99.95 + $ 3.50 p&h.
CALL TODAY
1-313-662-8086
Visa/MC/COD Accepted
Dealer Inquiries Invited
SEIDL COMPUTER ENGINEERING
3106 Hilltop Dr., Ann Arbor, MI 48103
SEPTEMBER 1987
CIRCLE NO. 198 ON READER SERVICE CARD
191
LANALTERNMVES
TABLE 1; RS- 2 32 Pin Descriptions
CONNECTOR PIN NUMBERS
DB-25 (XT, PS/2) DB-9 (AT)
NAME
DESCRIPTION
2
2
TD, SD
Transmitted data
3
3
RD
Received data
4
7
RTS
Request to send
5
8
CTS
Clear to send
6
6
DSR
Data set ready
7
5
SG
Signal ground
8
1
CD, RLSD
Carrier detect
20
4
DTR
Data terminal ready
22
9
RI
Ring indicator
Two RS-2 32 serial connectors are used on PCs; the DB-25 is considered the stan¬
dard connector; DB-9 is used by IBM only on the AT serial expansion adapter.
easy and sometimes more economical,
a stand-alone buffer would not permit
multiple simultaneous inputs, as buf¬
fered switches typically do.
However, buffering is a mixed
blessing; it can cause the failure of
direct-wired file-transfer applications,
such as BLAST from Communications
Research Group or EasyLAN from
Server Technology. Because buffered
switches hold information in memory,
machine-to-machine transfer times are
too long and unpredictable for these
applications, which have tight timing
requirements to increase efficiency.
A buffer can be confusing when
used with printer queuing software.
The DOS PRINT command, for exam¬
ple, displays the queue of files waiting
to be printed, but cannot identify files
already printed and still in the buffer.
A command such as PRINT/T, which
terminates printing, does not affect files
already buffered for printing.
Some electronic switches provide
extended-distance cabling by condition¬
ing the signal internally, which permits
greater distances between computers
and printers. A stand-alone line driver
also can be used to extend distances;
sometimes called an interface extender,
this is a signal-conditioning device and
is typically housed in a small box.
Many electronic switches also can
be programmed on a port-by-port basis
for communications parameters, printer
set-up strings, and baud rates. With
mechanical switches, these parameters
are typically set at each computer using
applications software or special pro¬
grams. Most programmable switches
also offer remote programming, allow¬
ing the user to program the switch
from an attached PC or terminal.
Some switches can handle input
from multiple concurrent users, hold¬
ing the input in buffer queues for later
output. This ability also has a draw¬
back—queuing typically eliminates the
possibility of bidirectional operation;
the user might even be off-line when
the peripheral responds.
Various electronic switches go be¬
yond simple peripheral sharing by sup¬
porting file transfer, modem sharing,
and mainframe and minicomputer
links. File transfer is possible only if
the switch supports two-way connec¬
tions. File-transfer software, such as
BLAST or EasyLAN, typically runs in the
computers. Most standard communica¬
tions programs, such as Headlands
Communications’ pc-talk, DCA/Crosstalk
Communications’ Crosstalk, and Hayes
Microcomputers’ Smartcom also can
operate on these switches.
To support read/write devices such
as modems, peripheral ports must be
bidirectional. Modems also require
more complicated forms of signaling
than printers do. A mainframe or mini¬
computer can be treated as a standard
read/write asynchronous device, or the
switch can support or emulate particu¬
lar types of terminals.
CABLE VAGARIES
Cabling is likely to cause some diffi¬
culty when working with printer-shar¬
ing boxes. The user may—or may
not—be able to use the current prin-
ter-to-computer cable as a computer-
to-switch or switch-to-printer cable. In
fact, some switches require cable types
not commonly available, such as an
output (switch-to-printer) cable with
36-pin Centronics connectors on both
ends. Others require custom-made
input (computer-to-switch) cables. In
addition, switches often impose severe
distance limitations: 15 feet for parallel
devices and 50 feet for serial devices.
However, various interface extenders
can overcome these limitations.
When cabling a switch, the user
must first determine which types of
connectors and interfaces are needed.
Interface specifications may or may not
include connectors. Popular interfaces
are RS-232, RS-449, and Centronics.
RS-232 and RS-449 are two-way in¬
terfaces—they can send and receive.
RS-232 (or V.24) transmits information
serially one bit at a time; distances typi¬
cally are limited to 50 feet and speeds
to 19.2K baud. RS-449 also transmits
serially, but supports longer transmis¬
sion distances and higher data rates.
Centronics, the standard parallel
interface, is a one-way device—it either
sends or receives. It transfers data eight
bits (one byte) at a time over eight
transmit wires. Data rates are high, but
distance is limited, with a recom¬
mended maximum of less than 20 feet.
The most common cable connec¬
tors for the peripheral-sharing switches
are DB-25, Centronics, and DB-9. The
25-pin DB-25 is the de facto standard
for the RS-232 interface and is used on
the PC and Personal System/2 (male for
the serial port and female for the paral¬
lel port). The 36-pin Centronics con¬
nector is popular for parallel interfaces
and is used on most parallel printers.
The 9-pin DB-9, one of the standard
connectors for the RS-449, is also used
for RS-232 on PC/AT-type machines.
DTE AND DCE DIFFERENCES
An RS-232 port is wired differently de¬
pending on whether it is on a terminal,
including a computer, or on a commu¬
nications device such as a modem. Spe¬
cifically, data terminal equipment
(DTE), typified here by a computer, is
wired to transmit signals on pin 2 and
receive signals on pin 3- For data com¬
munications equipment (DCE), typified
by a modem, the wiring is exactly re¬
versed; pin 2 receives and pin 3 trans¬
mits. Most printers are wired as DTE.
The RS-232 standard was designed
for computer-to-modem communica¬
tions. Table 1 describes the RS-232
lines and their pinouts for the standard
(DB-25) and AT (DB-9) connectors. Re¬
quest to send (RTS) is a signal from tlie
computer instructing the modem to go
into transmit mode. Clear to send
(CTS) is a signal from the modem to
the computer verifying that the modem
is in transmit mode. Data set ready
(DSR) informs the computer that a
connection has been made, and the
modem is ready for use. Data terminal
ready (DTR) informs the modem that
the computer is ready to communicate.
Received line-signal detector (RLSD) (or
carrier detected) is a modem-to-com-
192
PC TECH JOURNAL
Choose 370ur toorite. $475*
We're not selling printers, but a new networking device that'll
make it seem like you have an extra one. Or two or three.
The Buffalo® SX can actually multiply the effectiveness
of laser printers, dot matrix and daisy wheel printers, modems,
and plotters. Anyone can send work to any printer—even when
it's busy-and go back to work immediately. So it can save you
thousands of dollars on extra printers you don't buy.
AQtlie right connections
The Buffalo SX is an intelligent buffer, switcher and interface
converter all in one. It allows several PC users to select any output
device connected to the network.
There are ten ports-five parallel and five serial. Five can handle
either input or output. So you have lots of options. Seven
PCs sharing three peripherals. Two PCs sharing eight peripherals.
Or any combination between.
But that's only the beginning. You can link more SXs together
to share a set of peripherals with any number of PCs (of
course, when you get up into the dozens, you might need
another laser).
Power windows & automatic transmission
To set up the SX, just plug it in and define the ports using the
switches and software provided. Concise documentation tells you
how. If you have a question, call our toll-free support line.
When someone's ready to
print, they simply use the handy
little menu that pops up on
screen with the names you've
chosen. Call your printers
Martha, Chatterbox, Relic,
whatever.
The SX does the rest,
it handles interface con¬
versions, making parallel
and serial machines
work together. Yes, it even lets IBM® and Macintosh® PCs
share a laser with no fiddling. And PCs can exchange files with
communications software.
Best of all, it stores print jobs in its large buffer and feeds data
to the printers automatically. So people can use their computers
within seconds. ("Large" means a standard 256K memory,
expandable to one full megabyte.)
Free software bonus
Order now and receive $100 worth of productivity tools free:
O HyperKey™ Keyboard Enhancer-increases speed and
accuracy dramatically. Instant on-off for repeat keys!
O HyperDrive™ Disk Caching-makes applications run 3-5
times as fast. Fully utilizes Above™ Board memory.
O Print Booster™ for 1 -2-3®—frees your PC about four times
faster when printing graphs.
iUl you stand to lose are long coffee breaks
If you've tried a printer buffer, you know how limited most are.
The SX is different. It's the slickest productivity booster this side
of a $10,000 LAN. It's so dependable, it comes with a full one-year
warranty. Plus this money-back guarantee:
Order a Buffalo SX. Try it for 45 days. If you can part with it, send
it back for an immediate refund. No questions asked. And you
can keep the productivity software.
We're certain you won't give
it up once you've tried it. We
think you'll add more. Ask about
our other low-cost buffer/
switchers too. There's one for
every application imaginable.
Call now. Use Visa,
MasterCard or American
Express. You'll save hours
of frustration. Plus the cost
of another laser!
Just one of dozens of network configurations possible with the versatile SX.
Buffalo Products, 859 Cowan Road, Burlingame, CA 94010 (800) 345-2356; In California (800) 543-2356
CIRCLE 106 ON READER SERVICE CARD
ffmrua
*This special direct introductory price will change without notice after the first 5,000 Buffalo boxes are shipped. You must mention this code number to qualify: PCT9
©1987 Buffalo Products. Buffalo is a registered trademark of Melco, Inc. HyperKey and HyperDrive are trademarks of HyperWare. Print Booster is a trademark of Buffalo Products. IBM, Macintosh and 1-2-3 are registered trademarks of International Business
Machines, Apple Computer and Lotus Development. Above is a trademark of Intel. Logotypes shown above are trademarks of their respective manufacturers.
Microsoft Lattice TurboC Aztec Computer Innovation Mark Williams TurboC Unix DOS Xenix TurboC Novell VMS Macintosh Microport TilfbO C Fox 10-NET
1
Microsoft Lattice TurbO C Aztec Computer Innovation Mark Williams TurbO C
ISN’T IT A PITY... i
Everydiii^ Isn’t As |
Accommodating As I
c^tree V r-tree " J
FILE HANDLER REPORT GENERATOR w
Performance and Portability
For all the time you devote to developing
your new programs, doesn't it moke sense to
insure they perform like lightning and con be
ported with ease?
c-tree: Multi-Key ISAM Functions
For Single User, Network, ft Multi
Tasking Systems
Based on the most advanced Tree routines
available today, c-'bree gives you un¬
matched keyed file accessing performance and
complete C Source Code. Thousands of profes¬
sional C programmers are already enjoying
c-tree's royalty-free benefits, outstanding
performance, and unparalleled portability.
Only FairOom provides single and multi-user
capabilities in one source code package,
including locking routines for Unix, Xenix, and
DOS 3.1., for one low price! In addition,
c-tree supports fixed and variable record
length data files; fixed and variable length key
values with key compression; multiple indices
in a single index file; and automatic sharing of
file descriptors.
r-tree: Multi-Nie Report Generator
r-tree builds on the power of c-feree
to provide sophisticated, multi-line reports.
Information spanning multiple files may be
used for display purposes or to direct record
selection. You can develop new reports or
change existing reports without programming
or recompiling and can use any text editor to
o
create or modify r-tree report scripts §
including the complete report layout. At your %
option, end users may even modify the report
scripts you provide. ^
Unlimited Virtual Fields; Automatic nie ®
TTaversol h
r-t;ree report scripts can define any number ^
of virtual fields based on complexcomputational o
expressions involving application defined data O
objects and other virtual fields. In addition, ^
r-t;ree automatically computes values S.
based on the MAX, MIN, SUM, FRQ, or AVG of o
valuesspread overmultiple records, r-tree q
even lets you nest these computational func- §
tions, causing files from different logical levels -o
to be automatically traversed. &
Unlike otherreport generators, r-treeallows
you to distribute executable code capable of
producing new reports or changing existing
reports without royalty payments, provided the
code is tied to an application. Your complete
source code also includes the report script
interpreter and compiler.
How To Order
Put FairOom leadership in programmers utilities
to work for you. Order c-tree today for
$395 or r-tree for $295. (When ordered
together, r-tree is only $255). For VISA,
MasterOard and O.O.D. orders, call 314/445-
6833. Fore-tree benchmark comparisons,
write FairOom, 4006 West Broadway, Oolum-
bia, MO 65203.
3
o
c
3 ,
X
Complete C Source Code & No Royalties!
Xenix is a registered trademark of Microsoft Corp.
3
X
13N-01. xod Q oqjni lJ 0 d 0 J 0 !|/M psojuioei/M si/^A II^aon 0 oqjni Xjuay SOQ xran
CIRCLE NO. 119 ON READER SERVICE CARD
IMAimNMVES
puter signal indicating that the local
modem is receiving an appropriate sig¬
nal from the remote modem.
When a DCE port is connected to
a DTE port, a straight-through cable
can connect the identically numbered
pins of each conneaor attached to each
end of the cable. When two like ports
are connected (DTE to DTE or DCE to
DCE), a null-modem cable, or cross
cable, must be used; this is normally
the case when connecting a computer
to a printer. A null-modem cable usu¬
ally crosses not only pins 2 and 3, but
also pins 4 and 5 (RTS and CTS) and
pins 6 and 20 (DSR and DTR), as
shown in figure 3.
One common problem in setting
up switches is using the wrong cable
for the DTE/DCE configuration. To
complicate matters, manufacturers do
not always conform to the RS-232 stan¬
dard when wiring the RS-232 ports.
However, most manufacturers do docu¬
ment their use of the connector.
Mechanical switches act as a
straight cable; their ports need not be
configured as DTE or DCE, but the
cables must be compatible with the
device on the other end. One common
mistake is to connea the computer to
the switch with a cross cable, and then
also use a cross cable to connea the
switch to the peripheral. The net result
is a straight-through connection.
Ports on some electronic switches
are fixed as DCE or DTE; on others
they can be configured. They must ei¬
ther conform to the existing cable or
the cable must be replaced or rewired
to conform to the ports.
CONTROLLING THE FLOW
Flow control, or handshaking, prevents
one device from sending data faster
than another device can handle the
data. Parallel interfaces typically use
only one kind of flow control. If the
conneaors are correa, the parallel
interface probably will work.
For RS-232 interfaces, the two pop¬
ular protocols are Ready/Busy and
XON/XOFF, which can be used sepa¬
rately or together. Each protocol dso
includes variants. Almost all printers
use Ready/Busy exclusively, also called
hardware handshaking, or RTS/CTS.
This protocol is built into the hardware
of most RS-232 interfaces and can be
used for both computer-to-switch and
switch-to-peripheral flow control.
In the computer-to-switch control,
the switch monitors the RTS pins on its
input ports, each of which is conneaed
to an RTS pin on the computer port.
The computer raises the voltage on the
194
PC TECH JOURNAL
When two data terminal equipment (DTE) units are connected, a null-modem
cable allows them to communicate by transposing the data and handshake lines.
RTS when it wants to send, and then
sends the data when the switch con¬
nects and raises the CTS. If the switch
does not raise the CTS, the computer
cannot send. When the computer drops
the RTS, the switch begins its time-out
period. If this period lasts long enough,
the switch breaks the connection.
In the switch-to-peripheral control,
the peripheral raises the voltage on the
CTS, which tells the switch it can start
sending. When the voltage on the CTS
falls, the switch is unable to send. In
some equipment, DSR and DTR are
combined with CTS.
XON/XOFF, also called software
flow control, typically is used with
graphics peripherals, such as plotters,
and with communications programs
and modems. Like Ready/Busy, XON/
XOFF can control the flow from both
the computer to the switch and switch
to the peripheral. At any time, either
side of the connection can send an
XON character requesting more data or
an XOFF character stopping the data
flow. XON is DCl, or ASCII code 17;
XOFF is DC2, or ASCII code 18.
Although mechanical switches are
transparent to flow control, the applica¬
tion and the peripheral must use the
same kind of flow control. With elec¬
tronic switches, the switch’s input-port
flow control must agree with the appli¬
cation, and the output-port flow must
agree with the peripheral. The input
port usually is reconfigured dynami¬
cally by sending a configuration string
to the switch from the input port.
For a serial printer, the user must
set the computer and the printer for
the baud rate (1,200, 2,400, 4,800, or
9,600 baud), character length (seven-
or eight-bit data word), stop bits (one
or two), and parity (none, odd, or
even). Mechanical switches are trans¬
parent to these parameters, but elec¬
tronic switches may have to be config¬
ured port by port, unless the user is
satisfied with the existing defaults.
Some switches can adjust automatically
to any baud rate on an input port. The
user still must set the baud rates for
the output ports, as well as other pa¬
rameters on the input and output ports.
SWITCHING SOFTWARE
Mechanical switches require little or no
new software in the PC, except for re¬
setting printer defaults and sending
form feeds. Electronic switches, with
their more extensive configuration re¬
quirements, come with a configuration
program that allows the user to set
communications parameters, DCE/DTE,
baud rates, and flow-control types.
For control-code sequences that
are sent repetitively to a switch or
printer, the user can create files con¬
taining those sequences and then
“print” them at appropriate times. For
switches that support two-way commu-
Read what they’re saying about this
popular program for prototyping and
demo-making:
winner right out of the start¬
ing gate. After you use DEMO
once, you’ll wonder how you got
along without it.”
—PC Magazine
“Eveiybody who writes soft¬
ware, either commercially or for
in-house applications, should
immediately order a copy. Period.
No exceptions.”
—Soft • letter
Product of the Month
—PC Tech Journal
Thousands of developers and most
of the largest and best known software
companies are using this program.
You can, too. Act now!
The perfect companion to the Demo
Program. The Tutorial helps you learn
the ins and outs of its basic and ad¬
vanced features. Complete with a 96
page manual containing step-by-step
instructions, diskette, and function
key template.
, CX\ lU lUI lULIUI I
Use 800-number for orders only. /*/>>•/»
Questions, special shipping, etc., call 617-332-2240.
No Purchase Orders. Massachusetts residents add 5%
sales tax. Outside of the U.S.A., add $15.00.
Requires 256K IBM PC/Compatible, DOS 2.0 or later.
Supports Monochrome, Color Graphics, and EGA
Adapters (text mode only). The Tutorial requires the
Demo Program.
SOFTWARE
GARDEN, INC.
Dept. T-3
P.O. Box 373, Newton Highlands, MA 02161
CIRCLE NO. 142 ON READER SERVICE CARD
SEPTEMBER 1987
195
LAN ALTERNATIVES
nications (PC-to-PC or PC-to-modem),
the user can invoke file-transfer utili¬
ties, communications programs, and
RS-232 LAN software. File-transfer utili¬
ties, such as BLAST, work between PCs
and other types of computers. Commu¬
nications programs, such as Crosstalk
and Smartcom, allow PCs to emulate
various types of terminals.
MECHANICAL VENDORS
The simplicity of mechanical switches
makes it difficult for the many switch
manufacturers to distinguish the merits
of their individual products. Mail-order
houses add to the confusion by provid¬
ing good and varied selections. The
accompanying sidebar is but a sam¬
pling of switch vendors.
In selecting a particular switch, the
user must ensure that it supports
enough lines for the particular need.
Switches that support all 25 lines can
be used for botli parallel and serial
connections. Less expensive switches,
with fewer lines, can be used on serial
connections. A serial switch should
work with most equipment if it sup¬
ports pins 1 through 8 and pins 20 and
22. The following three companies are
among those who manufacture me¬
chanical switches.
Black Box Corporation. Black Box sells
20 models of two-way switches, 19
models of four-way switches, and 19
models of cross-matrix switches. Each
model is distinguished by the kinds of
connectors used and in some cases by
die number of pins switched on the
connector—for example 4, 12, or 25
pins on the DB-25 connector.
Global Computer Supplies. Global sells
its PC Data Switch in three versions:
RS-232, parallel using the DB-25 con¬
nector, and parallel using the Centron¬
ics connector. RS-232 and parallel mod¬
els include two-way, three-way, four¬
way, and cross-matrix switches. The
RS-232 versions include one two-way
model that switches 16 of the 25 pins,
and another that switches all 25 pins.
Inmac. This company offers a line of
switches called Clear Signal Plus. With
a two-year warranty (others offer one
year), full 25-pin switching, gold elec¬
trical contacts, and an optional lock, the
Clear Signal Plus line targets the high
end of diis low-end market.
ELECTRONIC TESTING
Although not as plentiful as mechanical
switches, electronic switches can be
obtained from a variety of vendors and
mail-order houses (see sidebar). Buffer¬
ing and switching capabilities add com¬
plexity to their design and operation. A
sampling of commonly available elec¬
tronic switches was tested for this arti¬
cle; virtually all problems that were
encountered during this testing were
caused by incorrectly wired cables,
underscoring the importance of check¬
ing die configuration.
Digital Products. The NetCommander is
an any-to-any switch offering not only
printer sharing, but file transfer, local
electronic mail, and data collection. It
typically uses only RS-232 inputs; out¬
puts can be serial or parallel. Models
range from 4 to 16 ports. Serial-to-
parallel conversion is automatic. Each
output port is assigned a unique name;
ports are selected by sending a control
charaaer string to the switch.
File transfer is accomplished by
disabling buffering for a given input.
The buffering can be disabled automat¬
ically using batch files, which Digital
Products’ auto-install program creates
for EasylAN. The'NetCommander also
can be daisy-chained. For setting baud
rates on the 16-port model, pons are
grouped into three groups of four, one
group of two, and two independent
797 Gatehouse Ln, PO Box 26195, Columbus, Ohio 43226-0195, 614/431-2667
CIRCLE NO. 152 ON READER.SERVICE CARD
SLATffi
support business
VOUflAWUCATION
The SLATE System comes complete / ^ 1
with C Libraries for most compilers, ‘ /
the SLATE Manual, a database of many
common printers, and ROYALTY FREE support tools to let you
or your customers add new printers to the database. The
complete SLATE System is only $299.00, less than the cost of
developing one more driver.
We would be happy to send you additional information about the
SLATE System. However, to KEEP OUT with no further delay
or hassle, call us now. We will answer your questions and get
you a SLATE System immediately with a risk free 30 day return
policy. When you call, ask about our combination offer with
the SPRINT Text Processor for $349.00.
^ The
Symmetry
Group
196
PC TECH JOURNAL
^ur logical choice for printer & data sharing.
It's your choice.
Now you can give
every PC user in your
office freedom of choice:
the choice to send their
output to any
printer —
serial or
parallel —
anytime.
And
all you
need is
The -
Logical
Connection
Instant switching.
Just "pop-up" the
memory resident
switching menu,
cursor-point to the
device you want to
switch to, and press ENTER.
The Logical Connection handles
all the print spooling, protocols
and parallel/serial conversion
automatically.
Preset config¬
urations.
10 Preset
configura¬
tions give
multiple
computers unlimited "switch and
share" access to printers, plotters
and modems — and each other.
Just cursor-point to a graphic
"picture" of the configuration you
want and download it with a
couple of keystrokes, using any
mm
EDITOR’S
CHOICE
Version 3.0.
IBM-PC™ or compatible. If you
need a custom configuration, you
can easily modify one of the
presets — or create your own.
Why network if you don't
need to?
For peripheral sharing
In April, 1987 PC Magazine
named The Logical
Connection "Editor's Choice
among all printer sharing
devices reviewed." Author
Winn L. Rosch called it
more than logical — maybe
inspired!"
applica¬
tions The
Logical
Connection can
outperform a
LAN, right out
of the box — at
a far lower cost.
The Logical Connection lets
minicomputers and mainframes
share peripherals with PCs. Or,
let many devices share a single
expensive modem connection.
And for really big
applications, you can "daisy-
chain" up to 45 Logical
Connection
boxes
together,
up to 3/4
of a mile
apart.
An easy choice.
The Logical Connection is easy
to set up and easy to use. Best of
all, it's easy on the pocketbook. For
price per¬
formance
and ease
of use,
nothing
else
even
comes close.
So if you're looking for the
best way to share your valuable
computers and peripherals,
there's only one logical choice.
Get the logical connection
today.
For the name of your nearest
dealer, or to order direct, call
Fifth Generation Systems at
1-800-225-2775.
Fifth Generation
SYSTEMS, INC.
Innovative Products Using Today's Technology
11200 Industriplex Blvd., Baton Rouge, LA 70809
SALES:
2691 Richter Ave., Suite 107, Irvine, CA 92714
(800) 225-2775 • (714) 553-0111
•The Logical Connection is a trademark of Fifth Generation Systems. Inc. • IBM-PC is a trademark of International Business Machines. Inc.
•This product is in no way associated with or has originated in Fisher Scientific or Allied Corporation.
CIRCLE NO. 225 ON READER SERVICE CARD
LANAIIERMnVES
ports. Eight settings are offered from
110 baud to 19.2K baud. Menu-driven
utilities from any PC or terminal can
configure each port as DCE or DTE.
Fifdi Generatioii Systems. The Logical
Connection from Fifth Generation can
share printers, plotters, and modems. It
is an any^to-any switch with eight ports:
four serial, two parallel in, and two
parallel out. It also provides automatic
parallel-to-serial and serial-to-parallel
conversion on all channels and buffer¬
ing of 256KB or 512KB.
All ports are configured indepen-
dendy using software. Because no
switches or jumpers are used, the user
never needs to open the box. File
transfer is possible using the local
mode of a communications program.
According to company information,
units can be daisy-chained to connect
up to 315 ports. The switch also per¬
mits multiple simultaneous inputs.
The box has a reset button on the
side and two panel indicators: run,
which lights during normal operation
and flashes when the buffer is full; and
status, which flashes when the Logical
Connection receives a switching com¬
mand. Although the Logical Connection
is one of the more sophisticated
switches, it is surprisingly small; the
box measures about l4y2-by-5 inches
and is only y4-inch thick.
The Logical Connection is some¬
what more complicated to configure
than the N-to-N switches, but offers
more flexibility. The user makes all
configurations through a program run-
Periphe^-sha^g ^tches and'their | ^ ‘ ^ ^ ^ ^
no means a compr^ensive list: ^; ^cle
Black Box Corporation _ serid-tQ.:paraU4k?^f^ i^. ‘
Blae^ Box (Corporation '■ , serial-^o-^|rall,4‘,|wrft!difs, f^.
P.O.Box 12800 ; '
Pittsbargb. PA 15241 : \'■
cmoLES^oNRE^ERSEimi^^c^ Plaiwie^} W
Product offerings: Two-way and four-
way mechanical switches, Multi-Port orci;^ smsm card
Spooler n electronic switch, RS-232 / Prcrfua^ 'pIfetlftjg^S^^
patch boxes, cross-matrix switch mechanic i f
IP ' ,
San Jose, CA 95121 >, 246B Au^mw^‘
4081270-4500 Santa Cl^a, C^^5954 .
ORCIE ^2 ON READERSi^CB OfflDi ^ ' 408if^%197Q'¥ff^" ; - ,
Produa offerings: Clustered Print Qnmac hm 19 diffident fotati
Sharer parallel electronic unbuffered across
switch and parallel line extender cmciE sBso^tRlBADp kBRvic^
Ifrodna^^^
Digital Products, Inc, ^ Parafler^^ffiart; S^jch, Mf-to^
108 Water Street , Smart Switchi^ Qui^ iPateh, XJt
Watertown, MA 02172' ■“* 'pa#B^r ' ' .X ’
6171924-1680,8(X)/243-2533 - /;
CIRCLETS ON READER ^RVICK CABO '
Produa offering: NRCoBuqgnder , (iMi^
electronic aerial/parallel s^tch f 1031 fi. '‘Gut^J,. ^ <
Santa (Cb^pt, CA0d54 .
' 408/72ftl97Qvfj:- v'X' 4./'
(Mnac has 19 iotations* -
0004 aaSiCM ^AADpaERraCE CARD
^ Prcdua^pfiertoga;,^ae9r
, Smart Switch, ^i^ J^eli, Univer^
Fifth Generation Systeifis Sunttym^ CA 940
11200 rndustripkx Bhtd. ' ? 408r7^0-iii2 't ■'
Baton Rot^e,IA 70809 - &)0/621^54 '^
ORCfLE on reader SERVICE CARD Prodn^V0ff<37il^: I
Produa offerings: IxDgitcal Conhettlon i the fea|a1^an^|l -
any-to-any serial/parallel switch :
• t _.
.. 4m$^^7, ^0m:@p42
Produa Q&rixigs: The Sierra Ex-
' change serial electronic sWtehes
\mmumdiCA9^l4 - .,
"f4l5M$A0O9O'y^‘\.
' ^^OE^''ONREAP]^\SERV^^^ ^ ^
lel electronic switches
" x-i ^'' 'spl ■?:
' tSumifvale, CA^^4()86 I
■ 408/738-8377, 8^9/8^1(515
' ^ w nsi^ ' X'
Gandatf Data, Inc,
1020 S. Noel Avenue >
Wheeling, IL 60090
3121541-6060, 8001426-6336
CIRCLE 335 ON READER SEEVICE CARD
Produa offerings: Dovtrex data-Over-
voice system^ . .
CA^1311
' \^e$tem Telematic, Inc, (WTI) ^ ^
; InHm ^ 92718^ ^ ^
: CIRCU 3A|S SI^CB CARD
^ Swit^ sei^pat^el, ele<^ ^
198
PC TECH JOURNAL
US at
The results are in.
BATRAM outperforms disk drives!
rhis ultra-high performance IBM PC/XT/AT
:ompatible mass storage device combines the speed
3 f RAM, the safety of long term battery backup and
■he security of sophisticated ECC (Error Correction
Coding) to give you extremely fast, safe, and reliable
storage. And now with exclusive FTS/Caching
software, additional speed and protection are added
to your local area network,
BATRAM IS 700% FASTER THANA
DISKDRIVE
tour local area network applications, like spread¬
sheets, database management, and CAD/CAM,
which are all disk intensive, benefit from BATRAM’s
phenomenal speed.
EXCLUSIVE FAULT
TOLERANT/CACfflNG SOFTWARE
FTS/Caching software speeds up your read/ write
IBM PC/XT/AT are trademarks of International Business Machines Inc.
requests by eliminating I/O bottlenecks. BATRAM
does this by caching your most requested hard disk
information, therefore allowing the server to access
RAM memory rather than the disk drive. BATRAM
can service these common requests faster than the
disk drive, increasing network throughput.
DATA INTEGRITY INSURED
Since BATRAM also holds all network data writes,
BATRAM adds Fault Tolerance to your network
storage device. With BATRAM, and your latest
network backup, data integrity is ensured even upon
total failure of your network hard disk.
BATTERIES PROTECT RAM MEMORY
Power interruptions don’t phase BATRAM. Your
important data is protected by BATRAM’s innovative
two-week battery backup. These batteries are
continually charged, delivering full power so your
data is always safe. You can even unplug BATRAM
CIRCLE 197 ON READER SERVICE CARD
Spring '87
without losing data for up to two weeks. BATRAM’s
ECC is further assurance of your datas integrity.
BATRAM IS TOUGH
BATRAM’s rugged shock-mounted, no-moving-parts
construction is built for use and abuse in tough
environments. It is totally unaffected by the shake,
rattle, and roll that render disks useless.
NO WORRY MEMORY
Call us now for the whole story on the industry’s
fastest, safest, and most reliable storage device:
BATRAM, the no-worry memory. Dealer inquiries
welcome. Call (408) 729-6700.
Santa Clara
Systems, Inc.
A Novell Company
I6l0 Berryessa Rd., San Jose, CA 95133
(408)729-6700/FAX (408)259-0778/TLX 176309 SCS SNJ
LANALTERNMVES
ning in the PC. To install the Logical
Connection, the user first connects the
PC serial port to the first serial port on
the Logic^ Connection (port number
0) using a cable provided by the manu¬
facturer. This connection is used to
download the configuration information
to the Logical Connection.
Second, the user defines the physi¬
cal connections, assigning a name to
each device, such as HP Laser or IBM
AT, and then sets parameters for the
serial ports, such as baud rate, hand¬
shaking protocol, and time-out. Parallel
ports are simpler—the user is required
to set no parameters, but merely sets
the automatic form feed to yes or no
and assigns a time-out.
Third, the user defines logical con¬
nections—how ports will be paired—
and downloads this configuration infor¬
mation to the switch. Because the con¬
figuration is stored in battery-backed
RAM in the Logical Connection, the
switch can be left unplugged for an
extended period without having to re¬
configure. Finally, the user physically
connects the devices.
REQUIRED READING R)R AU
IBM K SYSTEMS EXPERTS
If you're a systems expert, microcomputer specialist, or MIS/
DP professional working with IBM PCs, you need the compre¬
hensive information PC TECH JOURNAL provides 13 times a year!
It's the only magazine that provides you with the technical
information to help you increase the performance of your
multi-component system. It talks to systems experts and systems
designers in the language you understand—about the appli¬
cations and products you have to know about!
As part of your annual subscription to PC TECH JOURNAL,
you'll receive the special PC TECH JOURNAL Directory issue pub¬
lished in November, the most comprehensive guide and index
to the products in the PC marketplace and PC TECH JOURNAL'S
coverage!
Don't leave a gap in your required reading, subscribe to
PC TECH JOURNAL now and save 50%!
For faster service call Toll-Free 1 -800-852-5200 today!
L.
RO. Box2966-Boulder, CO 80322
Send me PC TECH JOURNAL for: SAVE 50% I
□ One year (13 issues) for $26.70. *
□ Two years for $53.35.
Savings based on annual single-copy price of $53.35.
Mr./Mrs./Ms_^_
(please print full name)
Company_^_ ■ ■ .-.
Address __ ' - . - __
City__State_^_Zip_
□ Bill me □ Payment enclosed
Add $6 per year for postage outside USA, US currency only. Please allow up to 60
days for delivery of first issue. Annual Basic subscription price is $34.97. 4Z809
Integrated Marketing Corporation. IMG
offers two lines of N-to-N switches: the
Auto-T-Switch and the Data Manager
Plus 256. The Auto-T-Switch is available
in a number of N-tb-N configurations:
three-to-one, all serial; six-to-one, all
serial; three-to-one, all parallel; six-to-
one, all parallel; six-to-one with three
serial in, three parallel in, and one se¬
rial out; and six-to-one with three serial
in, three parallel in, and one parallel
out. The three-to-one parallel switch
was evaluated for this article.
The Auto-T-Switch provides no in¬
ternal buffering and does not support
multiple simultaneous inputs. On mod¬
els with both serial and parallel ports,
the switch performs serial-to-parallel
and parallel-to-serial conversion.
Time-out is seleaable at 10, 20, 30,
60, 120, or 300 seconds. Bidirectional
data flow allows support for modems,
plotters, and other PCs. The input de¬
vice must initiate port selection. For
serial ports, the switch has an adjusta¬
ble baud rate, data bits, stop bits, and
parity. It is also possible to configure
each port individually.
All configuration is accomplished
using jumpers inside the box; no soft¬
ware is necessary. The Auto-T-Switch
has no panel controls. Panel indicators
include a power light, an on-line light,
which indicates that the output device
is available to the computer, and one
input light for each port.
Serial ports are DB-25 male for
output and DB-25 female for input.
Because all parallel ports are female
Centronics, the switch end of the cable
must be male Centronics for parallel
input to the switch—this is the typical
cable used for connecting a PC to a
printer. For parallel output from the
switch to the printer, the switch end is
male Centronics. The printer used for
testing also required a male Centronics
connector (as do most IBM parallel
printers). The required cable had to be
custom-built because it was not avail¬
able commercially.
The Data Manager Plus 256, also
from IMC, is a five-to-one switch with
256KB of standard buffering, expand¬
able to 1MB. It supports multiple si¬
multaneous inputs, and all ports are
serial and unidirectional, interfaced
through female DB25 connectors. The
Data Manager Plus supports data rates
up to 38.4K bits per second. Baud rate,
data bits, stop bits, and parity are all
adjustable by individual port through-
switches inside the box.
Using DIP switches, the Data Man¬
ager Plus can be hardware-configured
optionally to send a form feed at the
200
PC TECH JOURNAL
-^/Osvelopem of LANUnkwInti MultIUnk® Acfwancetl
, - 35?^ Parkway Lane, AtlantaJiTOigia 30092
3 TeT^4996147 SWUNK fi^^/263-6474 :.
(F&f itfed^neawayou) C^IX: 800/451>L>NK In Qeoigta; 404/448-
OEM/Jftt'l Sates: 404/263-1006 ResellersA/ARs: 404/448-5465
vicB CARD Dealer inquiries Invited
LAN ALTERNATIVES
end of each job. It also can send the
necessary characters to reset an HP
LaserJet. Time-out is selectable at 15,
30, 60, or 120 seconds. Units can be
daisy-chained to connect as many as 25
inputs to one output.
Reliable Communications, Inc. The Si¬
erra Exchange from Reliable Communi¬
cations, Inc. is available in two N-to-N
configurations: four-to-two (which was
tested here), and five-to-one. All ports
are RS-232 with female DB-25 connec¬
tors. Standard internal buffering is
64KB, expandable to 2MB. The switch
allows multiple simultaneous inputs.
Like the IMG Data Manager Plus,
the Sierra Exchange supports jumper-
selectable data rates up to 38.4K bits
per second, adjustable data bits, stop
bits, and parity. Each port is configured
individually using switches inside the
box, and ports are unidirectional rather
than bidirectional.
A DIP switch inside the box sets a
default output device for each input
port; sending control codes to the
switch changes this default. The Sierra
optionally sends a form feed at the end
of each print job; this feature is also
selectable through DIP switches.
The Sierra switch has a fixed
time-out of five to eight seconds, just
one panel control, and a reset button.
Six status lights show which ports are
active. A flashing light indicates a buffer
overflow or framing error —errors in
stop or start bits. Two lights indicate
how much buffer memory is in use.
Support Systems International. Support
Systems offers the MultiSwitch II,
Model AS-402, which is a four-to-two
N-to-N switch, all parallel; all ports are
female DB25. Internal buffering is 64,
128, 256, or 512KB. Multiple simultane¬
ous inputs are not supported.
The MultiSwitch offers extensive
panel controls, including reset, which
clears memory, tests the CPU, and re¬
sets options to defaults; pause printing,
printer A/B, which changes the output
device; page 1, which reprints from the
beginning; and copies, for multiple
copies. Some panel controls apply only
when ASCII characters are sent through
the switch, because they look for the
form-feed character (FF, ASCII value
12). These include pause top of form,
which pauses at the top of the next
page; up page, which starts printing
one page after the pause point; down
page, which starts printing one page
before the pause point; and change the
number of lines per page.
Panel indicators include power;
ready, indicating tlie MultiSwitch is
ready; printer A selected; printer B se¬
lected; pause printing; pause top of
form; pages in memory; printing page,
which displays the number of charac¬
ters, pages, or copies to be printed;
four channel lights, to indicate which
input port is active; and busy, which
indicates the MultiSwitch is receiving
data. Both the printing-page and the
pages-in-memory^ indicators are nu¬
meric displays. The printing-page indi¬
cator also shows the out-of-paper error
message and briefly displays a status
message when the automatic form-feed
function is turned on or off.
Printer codes control four func¬
tions: select printer A, select printer B,
pause printing, and reset memory. The
MultiSwitch also offers a memory test.
Western Telematic, Inc. WTI’s Lasernet is
an eight-to-two switch witli eight serial
inputs, one serial output, and one par¬
allel output; a four-to-two switch is also
available. Input connectors are all fe¬
male DB25; output connectors are one
female DB25 and one female Centron¬
ics. Lasernet has a 256KB internal
buffer and supports multiple simultane¬
ous inputs. WTI also offers two unbuff¬
ered models, PSU-41 and PSU-81.
Serial-to-parallel conversion is per¬
formed internally.
Unlike the other switches de¬
scribed in this article, all the input
Nothing Should
Come Between
Mainframe Mag Tapes
and Your dBASE or Lotus
Except
Telebyte Tape Drives
TDX Mag 9-track 1/2" Tape Systems from
Telebyte provide faster, error-free download¬
ing of mainframe data into your PC. You con¬
trol the start-stop tape drive either from the
keyboard or with Telebyte’s exclusive Data-
verter software for faster file transfer — the
equivalent of a 720,000 bit/second datalink.
Telebyte TDX tape drives are available at
either 45 or 75 ips, feature dual density
(800/1600 bpi) storage and back up process¬
ed files at 2 MB/minute (up to 10 times faster
than other 9-track drive systems) as a bonus.
Enter data into dBASE® and Lotus® with no
user programming. You do it in two easy steps
because Telebyte’s exclusive Dataverter runs
under both DOS 2.0 and Xenix!" Dataverter
will automatically convert packed, zoned and
unsigned decimal field files, as well as labeled
tapes, from EBCDIC to ASCII. The tape
system is also supported by software lan¬
guages in your PC, including C, BASIC,
Fortran, Cobol, etc.
Only Telebyte offers such mainframe stand¬
ards of reliability and IBM-compatible tape drive
quality for so little money.
TECHNOLOGY, INC.
GSA Contract Number GS00K86AGS5301
1 - 800 - 835-3298
Telebyte Technology, Inc. • 270 E. Pulaski Road • Greenlawn NY 11740 • (516) 423-3232
dBASE' is a registered trademark of Ashton-Tate, Inc.; Lotus” is a registered trademark of Lotus Development Corporation: IBM- is a registered trademark of
International Business Machine Corporation; Xenix'" is a registered trademark of Microsoft.
CIRCLE NO. 155 ON READER SERVICE CARD
PC TECH JOURNAL
fS
v>
cteai^®
We’ve got what you want.
You want a menu system that
will not get in your way—that
runs with you, not against you—
that lets you make the decisions
about resource access, addi¬
tional password security, help
screens, and graphic design.
And you want it all without a lot
of extra programming and
design time.
You want it fast and lean, flexi¬
ble and smart. You want power.
You found it. The LAN Shell.
Consider this sampling of Shell
features:
• Fastest screen refresh of any
menu system on the market
• Occupies only 9KB of RAM
• Runs any combination of COM,
EXE, and BAT files
• Submenus up to six levels deep
• Accepts replaceable DOS
parameters to prompt for orig¬
inal input, validate contents,
and pass input to a command
line
• Supports all major network
standards
LAN Shell customers are
Fortune 500 firms and VARs
selling to corporate accounts.
This is what Shell users say
about the product:
“LAN Shell gives us the ability to
make the network transparent.
It’s the driving force in our
relationship with our users. The
Shell is our vehicle for telling
users whatever they need to
know, eliminating the need for
training them on the network.”
Tom Barry, Vice President,
Wall Street Securities Firm
“I love it and every one of our
clients who have used it love it.
It’s the most flexible menu gen¬
eration program that Eve seen.
You can create a menu with
whatever kind of visual appeal
you want...very fast, very
efficient.”
Eric ,/. Pulaski, Vice President,
Value Added Reseller Firm
“LAN Shell offers another layer
of security that we like...easy to
edit commands.”
Gre^ Scott, Network Manager,
College of Business
Call today to order your free
LAN Shell demo—the full
product with only the save
feature removed.
A Philosophy for Network
Design
LAN
LAN Systems, Inc.
599 Broadway
11th Floor
New York, NY 10012
Telex: 705622
(212) 431-8484
LAN Shell is a trademark of LAN Systems, Inc.
CIRCLE NO. 170 ON READER SERVICE CARD
LANALTERNMVES
ports for the Lasernet must have identi¬
cal configurations for baud rate, parity,
and flow control; the output serial port
is configured separately. Again unlike
all of the others, the Lasernet’s configu¬
ration switches are conveniently located
on the outside of the box available for
a user’s easy access.
The time-out is selectable at 250
milliseconds, or 1, 5, or 15 seconds.
Panel controls include clear, to clear
switch memory; pause-, and TOP (top of
form). Panel indicators include eight
input indicators that show which port
is active; wait, which indicates pause
status; mem, which is off when the
buffer is empty, blinks once when the
buffer is 10 percent full, blinks twice
when the buffer is 20 percent full, and
so on; and rdy, which indicates the
printer is connected and on-line. The
Lasernet also offers a self test.
The newer models, PSU-82C and
PSU-42C, offer individual configuration
of input ports, up to 2MB of internal
buffering, automatic TOP, and an end-
of-job string that resets the printer to
the default parameters just as soon as a
job has been completed.
UNCLASSIFIED EQUIPMENT
Several types of peripheral-sharing
equipment do not fit neatly into either
the N-to-N or any-to-any classification.
Inmac offers the Quick Patch, a box
with two rows of 16 RJ-11 (standard
modular telephone) jacks on the front
and 16 RS-232 ports on the back. The
RS-232 devices remain plugged into the
back of the box, and the user connects
and disconnects them by moving RJ-11
cords on the front of the box.
Intra Computer sells a Delta
three-way switch that connects any two
of three serial devices. Por example,
the user might connect a computer to
a printer in one position, a computer
to a modem in a second position, and
the modem to the printer for printing
from a remote location in a third posi¬
tion. The switch also has a position for
no connection at all.
Local telephone companies often
lease data-over-voice-encoder (DOVE)
systems, with the central unit and a
data switch in the telephone company’s
central office. This central-office LAN
system duplicates tlie functionality of
an any-to-any switch.
Also called a data-voice modem
(DVM), a DOVE is a multiplexer that
allows voice and data signals to share a
standard twisted-pair telephone wire.
This wire is already in place for the
telephone system in most companies. It
is relatively easy to install compared
with the coaxial cable or higher-grade
data cabling often used for LANs.
A DOVE modulates data onto two
high-frequency carriers, one for send
and one for receive. Voice-band signals
(speech, dial tone, ring signals, and
busy signals) are not affected. PBX and
telephone central-office functions are
also unaffected, because data signals
are stripped off and sent to their desti¬
nations without passing through the
PBX. Only the wire is shared (see fig¬
ure 4). Central units are usually rack¬
mounted, with channel cards fitting
into a chassis. Each channel card can
accommodate two to four channels.
However, a DOVE lacks the speed
of most LANs—DOVE speeds are typi¬
cally limited to 19.2K baud. Prices vary
depending on the region, quantity or¬
dered, length of time contracted to
keep the system, and physical distance
from the central office.
EXTENDING CONVENIENCE
Line extenders and interface converters
can make switch-based peripheral shar¬
ing more convenient. A line extender is
a small box tliat conditions and/or
amplifies signals or converts them to
another form so that they carry farther;
line extenders are available for both
parallel and serial ports.
CIRCLE NO, 120.ON READER SERVICE CARD
Cross CompUo
68000 / 08 / 10/20
Features:
■ Full, standard C
■ Easy to Use Compiler Options
■ Complete User Documentation
■ Global Code Optimization
■ Optional Register Allocation
Via Coloring
■ ROMable and Reentrant Code
■ Comprehensive Royalty Free
Run-time Library
■ Floating Point Library Routines
■ Intermix MCC68K C with
ASMSSK Assembly Language or
Microtec PAS68K Pascal
■ Optional Assembly Language
Listing Intermixed with MCCS8K
C Source Line Number
■ Symbolic Debug Capability
The Microtec MCC68K C Cross Compiler
is a complete implementation of the
V’programming language as de¬
fined in The C Programming
Language by Kernighan and
Ritchie with extensions.
MCC68K emits highly optimized
assembly language code for
the Microtec ASM68K
Motorola compatible
assembled
The Microtec MCC68K
package includes the
compiler,relocatable
macroassembler,
linking loader,
run-time li¬
brary, and
compre¬
hensive
user’s
guide.
3930 Freedom Circle, Suite 101, Santa Clara, CA 95054
Mailing Address: P.O. Box 60337, Sunnyvale, CA 94088
MICROTEC®
RESEARCH
Host computers include: DEC VAX, DG MV-
Series, Apollo, IBM PC and PC-compatibles..
We're Functional and Fast and Serious
about our products. We've been providing
flexible and economical solutions for soft¬
ware developers since 1974.
Beginning with product concept, through
development, quality assurance, andpost¬
sales supijort - Quality, Compatibiiity
and Service are the differences which set
Microtec Research apart from others.
If you're a serious software developer, shop¬
ping for software development tools, call or
write today for more information:
800 - 551 - 5554 ,
In CA call (408) 733-2919.
204
PC TECH JOURNAL
nGURE4: Data-over-voice Encoder
A data-over-voice encoder (DOVE) allows data and voice to share the same wire, simplifying data connections. Only the wir¬
ing is shared. DOVE central units often include data-switching capabilities, eliminating the need for an external data switch.
Bravo Communications, Inc. offers
a parallel line extender that can sup¬
port distances up to 3,000 feet under
certain circumstances. Although it is
designed specifically to work with
Bravo’s Clustered Print Sharer (CPS), a
nonbuffered printer-sharing device, the
extender works with any parallel inter¬
face. When the extender is used with
the CPS, internal signal conditioning
allows switch-to-computer distances up
to 100 feet and switch-to-printer dis¬
tances up to 50 feet. The line extender
also shares the CPS power supply.
Intellicom’s Long-Link converts sig¬
nals from parallel to serial and back
again. It conditions and amplifies the
signal for a potential 7,000-foot reach.
Parallel-to-serial and serial-to-paral-
lel converters are useful when a switch
does not have the right kind of input
or output port for the application.
Microlator’s Adapta PII-210 converts
parallel signals to serial, and serial sig¬
nals to parallel. Converters also can be
combined with buffers. Inmac’s Univer¬
sal Data Buffer combines parallel-to-
serial and serial-to-parallel conversion
with either a 64KB or 256KB buffer.
Because manufacturers do not al¬
ways follow the RS-232 specification
precisely on serial interfaces, the user
may encounter problems when trying
to wire connector pins. IQ Technolo¬
gies’ Universal Smart Cable makes it
easy to try various combinations of pin
connections—it was used for the test
set-ups for this article.
The Smart Cable is reconfigured
by changing a set of three switches.
Unfortunately, IQ Technologies does
not document the actual wiring con¬
nections made by the switches, so de¬
termining which configuration is
needed once the connection is working
is not easy. The manual does provide a
sequence for trying the various switch
combinations and lists the most com¬
mon configurations first.
The user cannot try all possible
combinations, however. Western
Telematic’s Lasernet, for example, re¬
quires an input cable configuration not
supported by the Smart Cable.
Any configuration can be obtained
with a patch box. When interfacing
unusual RS-232 devices, a patch box
can be a godsend—once the configura¬
tion has been determined, the patch-
box wiring can be used as a guide to
create a custom cable.
A typical patch box consists of two
DB-25 connectors, one male and one
female. A small jack is provided for
each line on both connectors. Short
patch wires are inserted between the-
jacks for any two pins that are to be
connected. LEDs can be wired into the
circuit to test the state of a line.
SUITABLE SWITCH
The vast selection of switches—
mechanical or electronic, number of
connectors, type of cable, internal
buffer or not, multiple simultaneous
inputs or not—may be overwhelming
to the user who is interested, merely in
running one printer from more than
one computer. Nonetheless, this user is
much better off wading through all
these options than blithely accepting a
LAN. For the price and relative ease of
installation, switches are much more
suitable than LANs.
As a peripheral-sharing network
grows, a true LAN becomes more at¬
tractive. However, both mechanical and
electronic switches, enhanced by ex¬
tenders and other means, can be viable
alternatives for users who have small
peripheral-sharing needs. Liiilmiiiii ffil
Michael Hurwicz is a consultant and free¬
lance u/riter who specializes in LANs. He is
the author of the book Inside APPC, avail¬
able from Architecture Technology.
SEPTEMBER 1987
205
Now go 17,400 bps in tinder $1000.
The new Courier HST modem
PC Magazine calls USRobotics' Courier 1
HST/“ "the top price-performance ratio at ^ I
9,600 bps.” Now we’ve made it almost twice i |
as fest without raising the price. |
Our new fuII-dupIexHi^ Speed Tech- / |
nology dial-up modem with MNP Level < I
5 data compression is totafly AT com- : . ^
mand set compatible, delivering data at up -—
to 17,400 bps. And automatic M-back^
fafl-foiward always assures the fastest
speed possible. Courier HST reduces
phone line costs every time you use it
When you buy an HST modem, you get USRobotics’
more than 10 years of modem e^q^erience gained
I \ through sales of over half-a-rniBion moderns.
1 \ We’re an organization that win support you
S \ and grow with your needs.
J PC Week says, “USRobotics’ Courier
g \ HST produced the most impressive test
§ \ results based on the modem’s suitability
^ 1 to both file transfer and interactive
MHiBB Other modems talk about speed.
Courier HST delivers. Get your hands or
Free Warranty Extension! Buy an HST
before December 31,1987 and receive a S-year war¬
ranty extension FREE. A $50 value.*
Can 1-800-DIAL-USR
In Illinois (312) 982-5001
ii^otics
MNP is the Microcom, Inc. traiJcmark
for Microcom Networking Protocol, a
public domain error-control protocol.
The Intelligent Choice in Data Communications.
8100 McCormick Blvd., Skokie, Illinois 60076.
Total warranty including extension: 5 years.
CIRCLE NO. 213 ON READER SERVICE CARD
PRODUCT WATCH
TOPDOS 2.0
FrontRunner
Development
Reviews
and
Updates
TASKVIEW
Sunny Hill Software
MANOAt
SIMPLE
Acciiphase Ltd.
Distributed by Software Merchants
Unlimited, Inc.
2252 Fillmore Street, Suite 401
San Francisco, CA 94115
8001874-6753; in California,
8001826-3069
PRICE: $395.00, SIMPLE
$ 49 . 95 , SIMPLER (runtime)
CIRCLE 357 ON READER SERVICE CARD
S IMPLE (System IMPLementation by
Example), a data management pro¬
gram from Accuphase Ltd, claims to be
the “first picture-oriented application
generator.” With an eye toward increas¬
ing productivity, it eliminates the need
to write procedures or to code applica¬
tion programs. The program developer
provides the specifications by drawing
images on the screen and interacting
with worksheets, simple takes it from
there and generates the actual applica¬
tion program. The underlying concept
of SIMPLE is unique and potentially use¬
ful. However, the product in its current
release has several problems and re¬
quires such a substantial learning effort
that SIMPLE belies its name.
Traditionally, data management
application programs are developed
using procedural languages, such as
COBOL, C, and dBASE. With a proce¬
dural language, the developer writes a
program that lists the exact steps re¬
quired to accomplish a task.
However, with a nonprocedural
language, such as SQL (structured
query language), the developer creates
programs of language statements that
define the characteristics of the desired
resultant set of data. Then the data
manager determines the process re¬
quired to produce that data.
SIMPLE is one such nonprocedural
language. The developer communicates
to SIMPLE using a query-by-example
(QBE) technique to specify tlie desired
programs via a series of screens. Ac¬
cording to the SIMPLE documentation,
“The principle behind simple is simple:
paint examples of what you want done,
then let the computer figure out how
to accomplish the task.” This program
specification approach is designed to
be easier to learn and to use than pro¬
cedural programs or command files.
The basic simple development
screen, called a worksheet, is similar to
a spreadsheet screen. Option menus
appear across the top of the screen.
The user selects options either by typ¬
ing the first letter of the desired option
or by highlighting the option using a
reverse-video bar.
The seven options, called modes,
of the main menu are DEVELOP, LOAD,
MAKEMENU, USEMENU, OTHERS,
TUTORIAL, and QUIT. The OTHERS
mode offers a utility submenu to* set
the date, to list a program, to set col¬
ors, or to select or specify up to four
SIMPLE paths. A SIMPLE path is a mapping
of a DOS directory path to one of four
SIMPLE logical paths (1 to 4). simple uses
these paths to search for programs and
data as it performs operations.
All development is accomplished
in the DEVELOP mode. This mode of¬
fers a large tree of four additional lev¬
els of option menus. The first level of
menu options are ADD, REPORT, EDIT,
PROCESS, DELETE, IMPORT, and
EXPORT. Both IMPORT and EXPORT
have submenus for the selection of
files and file types for import/export
operations. The other five options all
lead to a common submenu of options:
PERFORM, DESIGN, SPECIFY, FILE,
OUTPUT (REPORT only), and CLEAR.
Although more than one menu
path can lead to the same apparent
action, the path becomes part of the
mode. With SPECIFY, for example, the
developer can select DEVELOP/ADD/
SPECIFY to enter specifications to add
data to a file and DEVELOP/EDIT/
SPECIFY to enter specifications for a
data modification program. The simple
screen is the same in both cases (ex¬
cept for the display line at the top), so
the developer must remain aware of
the mode path to keep track of the
current development effort.
One confusing feature of the
DEVELOP mode is that file definition
options are available on menus only
after the DEVELOP/ADD, REPORT, EDIT,
PROCESS, or DELETE modes have been
selected. As soon as the DEVELOP
mode is chosen, the developer wants
to be able to select a file.
The DEVELOP mode is simple’s
program generator. The lists of options
indicate the types of programs that can
be generated, and the DESIGN and
SPECIFY modes provide the facilities
for designing the programs.
The DESIGN option is used to
design screens and report layouts. Edit¬
ing layouts within this mode is straight¬
forward, although painting a report
wider than 80 columns is awkward.
Instead of horizontally scrolling a win¬
dow on a wide report layout screen,
the developer must specify multiple
screen lines per output line and con¬
tend with line wrap boundaries within
the 80-column screen.
Using the SPECIFY worksheet, the
developer writes the processing logic
for the program in the form of QBE-
SEPTEMBER 1987
207
PRODUCT WATCH
PHOTO 1: A specif]’ Worksheet
The category and system files are opened and the fields to
be included in the report are entered in the first column of
the worksheet. Data elements, formulas, and conditionals
may be entered in successive columns on the screen.
PHOTO 2: A Report Design Worksheet
Using the REPORT DESIGN option, the report form is
painted on the screen in the desired format and the data
elements from the specily worksheet are entered where the
actual values will be printed when the report is run.
like examples. This is the heart of the
SIMPLE concept. In SPECIFY mode, ex¬
ample elements are declared. These
alphanumeric strings are used as varia¬
bles in the DESIGN and SPECIFY work¬
sheets to hold values, to link files, to
link the DESIGN and SPECIFY work¬
sheets, and to refer to data fields.
As expected in the relational ap¬
proach, two or more files can be
opened and linked. In simple, linkage is
indicated by equating example ele¬
ments of the linking fields in each file.
Formulas and query conditions
also are stated on the SPECIFY work¬
sheet, as are marks to indicate whether
data can be entered into a field. The
SPECIFY worksheet is the mechanism
that tells SIMPLE how to manipulate file
data, so all DESIGN worksheets for
ADD, EDIT, DELETE, and REPORT pro¬
grams must have associated SPECIFY
worksheets. PROCESS, IMPORT, and
EXPORT programs do not have
DESIGN worksheets, but must have
SPECIFY worksheets.
SPECIFY worksheets are laid out in
columns and rows. The sheet can be
partitioned into a maximum of 8 col¬
umns, which must fit within die
screen’s 80-character width. In the first
column, fields are listed vertically for
open files (fields do not need to be
listed if they will not be used). Exam¬
ple elements, conditional statements,
formulas, commands, and updating
statements are placed in the second
and successive columns (see photo 1).
Example elements are used to
refer to data fields. A caret ('^) preced¬
ing an example element indicates data
can be entered into that field. Condi¬
tional statements filter data from files,
validate data entered or processed, and
specify conditions for data update. They
consist of values and logical operators
(similar to the IF statements in most
procedural languages). Depending on
the partition column where the condi¬
tional statement is placed, data can be
selected for processing or optional
updating. Commands are used to indi¬
cate special handling of records and to
create error messages for data-entry
programs. The available commands are:
\NEW (create new records); \DELETE
(delete existing records); \RECALL
(undelete records); \NONE (skip rec¬
ord); \ASC and \DES (specify ascending
or descending order of indexed files);
and \ERR# (create error message).
Data-entry screens incorporate up
to four sections: Form, Search, Calls,
and Help. The Form section contains
the form name, text, prompts, and data
entry fields. The developer can arrange
the entry prompts in any way by paint¬
ing die screen. Data can be entered
into multiple files. However, a SPECIFY
worksheet must list all the correspond¬
ing files and all example elements
marked with a caret for data entry.
The Search section of a form con¬
sists of one or more pop-up windows
that allow the user to scroll through
data from linked files and to select data
for entry into fields. This search win¬
dow is limited to a single line that sim¬
ple positions at the top of the screen.
The Calls section permits the de¬
veloper to specify optional calls to
other programs when the data-entry
program is used from a menu. For ex¬
ample, options can be established to
allow the data-entry operator to switch
from invoice data entry to a customer
add program and back. Mandatory calls
can be used to execute other simple
programs at desired points in the data-
entry screen (for example, a mandatory
call can be used to execute an invoice
print program at the end of an invoice
data-entry screen).
The Help section allows the devel¬
oper to enter text to be displayed
when the end user presses F2 (the
application help key).
Using the REPORT DESIGN option,
the developer can paint a sample page
of a report by typing example elements
from any file to represent the data (see
photo 2). An associated SPECIFY work¬
sheet must exist. Five statistical func¬
tions are available, as well as DATE and
PAGE functions. In any DESIGN mode,
SIMPLE will provide a default design
form with one keystroke.
The MAKEMENU option allows the
developer to create a menu for run¬
ning an application. Each menu choice
can be followed by 1 to 19 command
lines, which simple will execute when
that option is selected. This proved to
be an extremely convenient and easy
feature to use.
A substantial amount of power is
available in the simple program specifi¬
cation concept. For example, the
SPECIFY worksheet can link together as
many as five files, enabling the devel¬
oper to design a screen that will allow
data entry into multiple files simultane¬
ously. Data from multiple files can also
208
PC TECH JOURNAL
be browsed and included in reports.
The joins are done by simple provided
a corresponding SPECIFY worksheet
includes all the files needed. In addi¬
tion, the same SPECIFY worksheet can
be used for programs of different
types. For example, the developer
might use DESIGN and SPECIFY work-,
sheets to create a data-entry program in
the DEVELOP/ADD mode, then use the
same worksheets to create a data-
modification program in the DEVELOP/
EDIT mode. Unfortunately, with the
current implementation and documen¬
tation, it is not easy to learn how to
specify operations beyond typical rudi-
mentar\^ file-processing tasks.
Two serious problems and several
minor annoyances were encountered
when testing simple, both versions 2.1
and 2.2. First, in accordance with the
manual, the installation of the program
sets the computer’s CONFIG.SYS file
specifications to FILES=20 and
BUFFERS=1. Although Software Mer¬
chants Unlimited’s representatives say
the program can operate correctly with
buffers set to a number greater than 1
(and this does appear to be the case),
this fact is not documented in the man¬
ual or in the installation procedure. A
buffer setting of 1 has a serious impact
on the performance of many programs
and simple’s requirement that this set¬
ting be in the user’s CONFIG.SYS file is
uniquely and extraordinarily restrictive.
Second, simple consistently modi¬
fied the ASCII files from which it was
importing data. Each input file grew by
512 bytes; most appeared to be data
from the end of the file. It seems that
SIMPLE appends the last 512-byte buffer
from the input file to the end of the
ASCII file. For example, the PC Tech
Journal test file, ISSUE.ASC, is a 1,311-
byte ASCII file of data in delimited for¬
mat. After importing this file to a simple
file definition, the original ISSUE.ASC
file was 1,823 bytes long, with a new
DOS date/time stamp. The number of
buffers specified in the CONFIG.SYS
file (BUFFERS=1 in one test and
BUFFERS=20 in another) did not affect
this. All three ASCII test files imported
exhibited the same 512-byte growth.
This type of egregious software error
in a production program raises suspi¬
cions about the overall quality of the
system programming and testing.
One minor annoyance was noted
when the PC Tech Journal standard
data-entry screen was being created.
SIMPLE permits the use of graphic char¬
acters in screen design; it assigns sev¬
eral of them to keys on the keyboard.
All 11 of the single-line box and joint
characters are available. However, only
6 of the 11 double-line box characters
were available, and only 2 of the 18
single-to-double and double-to-single
joints were available. Not only were
these and other graphic characters not
assigned to keys on the keyboard, but
they were not available in any manner.
No complete ASCII character table was
provided, and characters could not be
entered via the standard approach
using the Alt key in combination with
the numeric keypad digits to enter
ASCII character values.
Another annoyance involves the
function of the Ctrl-Home key combi¬
nation, which often is used in other
programs to move the cursor to the
top left corner of the screen. Pressing
Ctrl-Home when in a SPECIFY work¬
sheet erases the entire worksheet with¬
out warning (other than tlie warning
given in the reference manual). This is
more than a little unfriendly to a new
SIMPLE developer.
simple’s tutorial materials do not
have adequate depth to support the
developer’s initial efforts to learn the
system. A rudimentary on-line tutorial
provides scenarios that present the ba¬
sics, but they do not address the pro¬
gram’s more advanced concepts. The
tutorial is better suited to end users
learning how to perform basic tasks
than to developers trying to learn the
capabilities of the program. Additional
examples of application system devel¬
opment would be very useful.
A separate tutorial manual (which
appeared to be a preliminary version
of a future tutorial) also was provided
for review. This manual provides addi¬
tional examples of more sophisticated
tasks, such as batch processing and
transaction posting within the develop¬
ment of an accounts-receivable system.
It is substantially better than the on-line
tutorial. However, both the on-line tu¬
torial and the one in the manual
merely tell the user what keys to press
to complete the lesson; they offer little
explanation as to why. It is difficult to
apply the tutorial information to other
situations and system designs. Some
technical explanation as to why a cer¬
tain approach was taken in each lesson
would be valuable, as would page ref¬
erences to the SIMPLE manual.
Although not out-and-out bugs,
tliese and other inconsistencies, plus
inattention to detail create minor an¬
noyances that make simple more awk¬
ward to use than it should be.
NEW ^ndbook
For Data Acquisition
Bigger
and Better!
Our newly expanded Handbook of Personal Computer
Instrumentation for Data Acquisition, Test, Measurement,
and Control contains more than ever before. It has
everything you’ve ever wanted to know, and much more.
Almost 300 pages include:
• A tutorial • A chapter on available software
• An applications section • System configuration guides
• Example programs • Technical specifications
This $15 value is FREE for the asking. Write on your
company’s letterhead to:
The New PCI Handbook, Burr-Brown Corp.
P.O. Box 11400, Tucson, AZ 85734
BURR-BROWN®
SEPTEMBER 1987
209
PRODUCT WATCH
However unique and interesting
the SIMPLE concept, the product in its
present form has flaws that make it
unsuitable for serious application de¬
velopment. The program specification
technique is not easy to master for
tasks that are more complex and subtle
than typical file add, edit, and delete
operations. Developers steeped in
more traditional methods will find the
technique especially foreign and diffi¬
cult. This is not inherently bad—most
tools require a certain amount of learn¬
ing before their full benefits can be
realized. However, a tool that requires
a substantial learning effort should pro¬
vide substantial benefit once learned.
Due to its shortcomings, simple does
not provide that benefit, simple is not
consistent in overall design and quality
with many of the programs reviewed in
PC Tech JoumaVs continuing series on
data managers.
—DAVE BROWNING
TASKVIEW
Sunny Hill Software
P.O.Box 33711
Seattle, WA 98133
8001367-0651; in Washington,
2061367-0650
PRICE: $79.95
CIRCLE 358 ON READER SERVICE CARD
Although DOS is not a multitasking
jl\ operating system, users can bypass
this limitation by using an operating
environment to mediate between DOS
and coresident application programs.
The convenience of running several
programs at once and switching among
them easily has attracted many users to
operating environments such as IBM’s
TopView and Microsoft Windows. An¬
other in this product line is taskvie>x^
from Sunny Hill Software.
Unlike task-switching environments
that load several programs but run only
one at a time, taskview provides true
multitasking for most PC applications. It
cycles through the loaded programs,
giving each one a fraction of a second
to run; it does this so fast that the pro¬
grams appear to be running simultane¬
ously (although only one appears on
the screen at a time).
TASKVIEW is a powerful, yet easy-to-
operate environment. Most users will
want to take advantage of its menu sys¬
tem, which is convenient and straight¬
forward. When TASKVIEW is invoked, it
displays a menu of choices. If “Run a
program” is selected, taskview displays
a menu of the programs it has been
configured for and runs the one cho¬
sen. Operation of the program contin¬
ues just as it would if it were executed
from die DOS command line.
Users can switch among various
programs by one of three methods:
choosing from a menu, using a hot
key, or typing a command at die DOS
prompt. At any time, users can invoke
the menu by pressing Ctrl-Left Shift-
End. From there, users can choose to
run another program, to switch to an
already-running program, or to recon¬
figure TASKVIEW. To switch to an al¬
ready-running program, the user selects
“Switch programs.” taskview then dis¬
plays a list all the active programs,
from which the user chooses one.
Because taskview assigns each run¬
ning program a number, users can
switch quickly among programs by
pressing Ctrl-Left Shift and the numeric
keypad digit corresponding to the de¬
sired program. No matter how it is se¬
lected, the desired program appears on
the screen and continues running as if
TASKVIEW had never intervened.
If the user does not want to use
the menu system, taskview also can be
controlled from the DOS command
line. The taskview commands OPEN,
SPAWN, and SWITCHTO perform all the
functions of the menu-driven system,
but take less memory (leaving more
memory for applications). However,
even expert users may prefer the menu
system because it is simple and quick.
TASKVIEW, like TopView and Win¬
dows, must be configured for each
program that will be run under it. The
user fills out a simple on-screen form,
providing the program name, filename,
starting path, memory requirements,
and other basic information. This con¬
figuration is necessary only once—
when the program is run under task-
view for the first time. The taskview
manual lists all the information needed
to configure taskview for 39 popular
programs. Configuring taskview for
other programs should take less than
15 minutes of experimentation, even
for the inexperienced user.
TASKVIEW uses virtual memory to
allow the computer to run more pro¬
grams than would fit in RAM at one
time. In other words, if the user loads
a program when the available memory
is insufficient to hold it, taskview will
attempt to make space by swapping out
another running program to disk. It
will suspend the swapped-out program,
giving it no further processor time
until the user switches back to it.
Swapping is invisible to the user,
except for a short pause that some¬
times occurs. With a hard disk, swap¬
ping usually takes less than five sec¬
onds on a PC; with a RAM disk, swap¬
ping is almost instantaneous. Some
programs cannot be swapped in task-
view —in particular, communications
programs and programs that support a
mouse. However, these programs still
will run under taskview.
Unlike RoseSoft’s ProKey or Bor¬
land’s SideKick and SuperKey, taskview
does not interfere with other memory-
resident programs. It also can run a
wide variety of application programs,
including many that other operating
environments consider ill-behaved. For
example, programs that write directly
to the screen and read directly from
the keyboard are fully supported; in
fact, TASKVIEW comes with special loader
programs to be used with MicroPro’s
WordStar 3.3, Nashoba Systems’ Nut¬
shell 2.0, Leading Edge Word Processor
1.3a, and BIT Software’s BITcom 2.6a.
The loader programs allow taskview to
run applications in the background,
even though they usually write directly
to the screen.
TASKVIEW performs remarkably well,
causing almost no noticeable reduction
in the performance of each program.
Even running four copies of DOS
COMMAND.COM (each running a .BAT
file) and WordPerfect, all programs per¬
formed as if they had total control of
the machine. The manual claims that
TASKVIEW may actually speed up some
DOS operations, but this was not ap¬
parent during testing.
Testing revealed only two minor
problems with taskview. First, when
running a program configured with in¬
sufficient memory, the DOS message
“Program too big to fit in memory”
appears and disappears before the user
has a chance to read it. taskview itself
210
PC TECH JOURNAL
• • • •
EZQueue 3000
Peripheral Sharing Plus!
The Giltronix EZQueue'"'' allows up to twenty-four computers to
simultaneously share one or more laser printers, dot matrix printers, or
plotters. In just a few minutes, you can configure the EZQueue to efficiently
manage a single shared printer
or multiple printers depending
on your need. Ten simple
to use and expandable
models are offered,
each with up to two
megabytes of
dynamic
buffering.
Increased Productivity
EZQueue goes beyond the cost advantages of
sharing expensive printer resources. In a communica¬
tion environment, files containing data for printing
mailing labels can be directed through EZQueue to a
dot matrix printer. At the same time, files containing
data for letter quality output requirements can be
directed to a specific laser printer containing the
desired paper style. Accounting departments can
share the various printer resources needed to print
invoices or checks. The flexibility of EZQueue can
enhance productivity and reduce total system
cost in virtually any workgroup environment.
Dynamic Buffering for Simultaneous Inputs
Buffering is dynamically allocated to one or more
printer queues allowing simultaneous input from
each of the attached computers with no waiting.
When a shared printer is busy, files are stacked up in
the EZQueue's buffer and output to the designated
printer when it is ready to receive the next file.
Headquarters
3780 Fabian Way
Palo Alto, CA 94303
(415) 493-1300
Telex 345542
COGiltronix
(>0
Multiple Printer Sharing
EZQueue is ideally suited
to simultaneously access
and share multiple printer
resources. Each EZQueue is provided with
Giltronix GX software, a DOS compatible program
that makes selecting a desired printer a snap. Once
installed on a computer, a few keystrokes will invoke
GX from within any software program to quickly
select the desired printer resource. Both serial and
parallel interfaces are supported.
Simple Installation
No special cables are required because each
EZQueue serial port automatically adjusts to signal
directions. "Smart" ports, a "21" step installation
guide and Giltronix toll-free tech support guarantee a
successful installation with minimal effort.
Expandability
Unlike competitive systems, EZQueue's buffer size
and number of ports can be expanded as your sys¬
tem grows. A minimum EZQueue starts with six
serial ports, two parallel ports and 256K bytes of
dynamic buffering. Serial ports can be added in six
port increments up to a total of twenty-four serial
ports. Buffering can be added in 256K byte incre¬
ments up to a total of 2 megabytes.
Call Giltronix toll-free at (800) 531-1300
In California, call (800) 521-1330
CIRCLE NO. 172 ON READER SERVICE CARD
PRODUCT WATCH
gives no indication that an error has
occurred and behaves as if the pro¬
gram has terminated normally.
The second problem is that task-
view is inconsistent when reporting
whether sufficient memory is available
to run a program. Sometimes during
testing, it would not allow the user to
run a program on the first try. Then on
a second try immediately afterward, the
same program would run without inci¬
dent. These problems were intermittent
and rare; on the whole, taskview oper¬
ated smoothly and without trouble.
Sunny Hill Software provides a
programmer s interface for taskview. It
uses the same calling conventions as
those used by IBM’s TopView. Only
preliminary information on the inter¬
face came with the review copy of task-
view, but Sunny Hill claims that an ex¬
panded version of the documentation
will be available in the future.
The TASKVIEW user manual is well-
organized and easy to read. It explains
TASKVIEW installation, configuration, and
operation simply and directly. It does
not bog the user down with details, yet
it provides enough specifics to help the
user configure the least-well-behaved
program without difficulty.
The minimum requirements for
TASKVIEW are two disk drives or one
disk drive and a hard disk, DOS 2.0 or
later, and 186KB of memory. However,
this minimum configuration is hardly
practical, and Sunny Hill Software rec¬
ommends at least 256KB (the more, the
better) and a hard disk, taskview runs
on a computer with an EGA, CGA, or
monochrome adapter, but it does not
support the special features of the Her¬
cules Graphics Card.
TASKVIEW comes witli two other
programs, SuperMacs and CP. Tliese
provide keyboard macros (similar to
SuperKey and ProKey) and application-
to-application cut and paste (allowing
information from the display of one
program to be used as input for an¬
other). Both SuperMacs and CP are
compatible with taskview.
SuperMacs has a simple pop-up
menu user interface, invoked by press¬
ing Alt-Esc. The SuperMacs menu in¬
cludes the following: choices to Define
a new key; Load, Merge, or Save a file
of key macros; Clear (erase) all macros;
and Write the screen to a file. Super¬
Macs usage is clearly explained on tlie
screen at all times.
The cut-and-paste capability is
available either in SuperMacs or, when
only this function is desired, in CP. In
botli, the user marks the upper-left and
lower-right corners of the region to be
copied. SuperMacs or CP copies the
region into its memory, then recalls it
on demand, sending it to the currently
running program as if it had been
typed in from the keyboard. Both pro¬
grams insert a carriage return after
each line of the region.
TASKVIEW provides an extremely
useful function: it allows users to
switch quickly among running pro¬
grams. It is an excellent product. Given
a hard disk and sufficient memory, it is
easy to use, fast, and reliable. It can be
configured for many popular programs,
even those considered ill-behaved. To¬
gether, TASKVIEW, SuperMacs, and CP
provide as complete a multitasking en¬
vironment as can be had running un¬
modified DOS programs.
—ARTHUR A. GLECKLER
TOPDOS2.0
FrontRunner Development
Corporation
14656 Oxnard SD'eet
Van Nuys, CA 91411
800/654-7494, in California,
818/376-1322
PRICE: 169.95
CIRCLE 359 ON READER SERVICE CARD
A major weakness of DOS is its primi-
.tive user interface. TopDOS, from
FrontRunner Development Corporation,
provides an alternative interface to the
user by interposing itself between
COMMAND.COM and the keyboard,
which normally handles user input.
TopDOS is not really an entirely new
command processor, because it cannot
execute batch files or load additional
programs; it merely screens keyboard
input and passes it to the same stan¬
dard command processor. In the pro¬
cess, it greatly improves the command¬
line interface, enhancing existing DOS
commands and adding new ones.
TopDOS is a terminate-and-stay-
resident (TSR) program tliat can be
loaded from the DOS command line or
from a batch file. Once installed, it is
disabled and enabled using either a hot
key or a DOS command. If it is the
most recently loaded TSR, it can be
unloaded from memory. And even if
TopDOS is loaded, the user can send
single characters or commands directly
to DOS, bypassing TopDOS, by prefac¬
ing them with a bypass character.
Many TopDOS features are derived
from the UNIX operating system. These
include a history mechanism (for show¬
ing and reusing the last several com¬
mands entered to DOS); a MOVE com¬
mand (for moving, not copying, files
among directories); a WHEREIS com¬
mand (for locating files in the directory
structure); auto-completion (automati¬
cally completing the name of a file or
directory on the command line when
the user types enough characters to
identify it); and aliases (custom DOS
commands, used as abbreviations for
other commands and tlieir parameters).
TopDOS also has keyboard mac¬
ros, enhanced command-line editing,
on-line help for DOS commands, a
RAM-resident text editor, and a TREE
program that displays a disk’s directory
structure and provides point-and-shoot
commands to copy, delete, move, edit,
and execute files.
TopDOS’s command history can
save up to 200 characters of com¬
mands. The user can display a num¬
bered list of the commands by entering
the HISTORY command. Each saved
command then can be invoked by
number. The command is issued im¬
mediately—the user has no opportu¬
nity to change it. When invoked in this
manner, the command is not added to
the history list.
The other method of recalling
commands is to scroll tlirough the dis¬
played list using the arrow keys. Each
press of the Up arrow key copies the
next command in reverse chronological
sequence to the command line. The
Down arrow key backtracks through
the list. Using this method, the user
can edit the command before he exe¬
cutes it by pressing the Enter key. A
command recalled in this way is en¬
tered into the history list.
One of the most useful of Top¬
DOS’s features is auto-completion. It is
invoked by pressing the Tab key while
typing a command or a filename on
the DOS command line.
212
PC TECH JOURNAL
If the user presses Tab while en¬
tering a command, TopDOS searches
all directories listed in the current DOS
path and lists all internal DOS com¬
mands and executable files that begin
with the letters already entered. For ex¬
ample, pressing d-Tab might yield:
*DATE
♦DEL
♦DIR
DEBUG.COM
DISKCOMP.COM
DISKCOPY.COM
and any other commands beginning
with “d” in the current path. The aster¬
isks indicate internal DOS commands.
If TopDOS finds only one possible
completion for the command being
entered, it automatically types the char-
aaers needed to complete the com¬
mand. If more than one completion is
possible, TopDOS lists them all and al¬
lows the user to choose between them,
either by typing additional characters
or by selecting one of the possible
commands using the arrow keys.
Auto-completion also works when
a filename is entered as a command¬
line argument. However, in this case,
TopDOS does not search the DOS path
for possible completions.
The keyboard macro feature of
TopDOS is not in the same league as
those in SuperKey and ProKey. Top¬
DOS can define only 11 macros; it as¬
signs them only to the 10 function keys
and Alt-=. Command aliases are a sec¬
ond form of macros invoked by name.
A TopDOS command displays a list of
all aliases and macros.
TopDOS provides fiill editing fea¬
tures on the command line. Users can
move left and right character or by
word, insert and delete characters any¬
where on the line, and cut and paste
within the command line. These fea¬
tures, plus TopDOS’s ability to recall
rapidly commands entered previously,
help the user overcome the often cum¬
bersome command-line interface.
The built-in text editor is an inte¬
gral part of TopDOS. Because the edi¬
tor resides in RAM whenever TopDOS
is loaded, it starts instantaneously; the
user does not have to wait for it to
load from disk, unlike most editors.
TopDOS’s editor is simple and fast,
adequate for its intended use of editing
batch files and short text files. It is cer¬
tainly insufficient, however, for editing
programs or long documents. Although
it can edit files up to 54KB in size, its
command set is somewhat limited. Cut
and paste, for example, is confined to
one line at a time, and neither search
nor replace commands are available.
The TREE command is another
comprehensive, built-in feature of Top¬
DOS. This command displays a repre¬
sentation of part of the current disk’s
direaory tree and allows the user to
examine various portions by pointing
with the arrow keys. The display shows
the list of files in the selected direc¬
tory, plus those in its parent directory,
sibling directories, and subdireaories.
The user can select files for copying,
moving, deleting, executing, or editing.
The TREE command operates
smoothly and quickly. It is intuitive and
forgiving of mistakes—definitely an
improvement over performing the
same functions from the DOS com¬
mand line. However, during testing, the
editing feature crashed the computer
several times when TREE was invoked
from a DOS shell inside an application.
TopDOS provides two utility pro¬
grams for use as external commands.
The first, TREECOPY, copies files from
a directory and all its subdirectories,
optionally recreating the subdirectory
structure at the target. It brings to ear¬
lier versions of DOS the same capabili¬
ties that XCOPY brings to DOS 3 2 and
later. The other utility, CLUSTER, deter-
nlines the file a given disk cluster be¬
longs to. It is useful for identifying a
file with an unreadable cluster.
In addition to these new features,
TopDOS enhances the existing built-in
DOS commands. For example, com¬
mands that operate on a set of files
specified by a wild-card pattern can be
further limited to operate only on files
before or after a given date. Similar to
UNIX, any command entered with in¬
sufficient or erroneous parameters gen¬
erates a message describing the correct
usage. This message also can be dis¬
played on request.
TopDOS runs on any PC-compati¬
ble computer with DOS 2.0 or later. It
requires 38KB of RAM when loaded. It
is a well-designed, well-executed prod¬
uct. Its command set uses a logical,
consistent set of options, and operation
is quick and convenient. It comes with
an excellent manual and quick-refer¬
ence card, augmented by on-line help
for most operations.
TopDOS is best-suited for expert
DOS users, especially those who miss
the many conveniences available in
larger operating systems. It also can be
helpful to anyone who spends a lot of
time conversing with DOS by means of
its command line. I imjmjiii_^l
—ARTHUR A. GLECKLER
Dbase*
programming tools
*Clipper, FoxBASE+,
dBASE, Quicksilver
The Ul Programmer
Ul is the first professionai code generator; we
wrote Ui for programmers who want to automate
their work but cannot use code that is ‘almost’
good enough. If your user Interfaces include
bounce-bar menus, pop-up help screens and
the other features of today’s best programs, you
will gain an order of magnitude in productivity
with Ul.
Ul is a second generation, programmable pro¬
duct — so your code comes out your way.
Application specific edits, for instance, can be
placed in the Ul ’template’ which controls the
generation. Edit the screen appearance until it
‘looks and feels’ perfect. Everytime you generate
code, your special logic Is preserved.
Speaking of editing the screen, Ul includes a
powerful, 3-D screen editor, so you can draw
pop-up help boxes over your pull-down menus,
over your application.
The Documentor
To run Doc, you just tell it the name of the main¬
line routine and make sure your printer has a lot
of paper! (Sure, you can have the output go to
the screen or a file, too.)
You can tailor your documentation to Include any
or all of: a table of contents, system tree diagram
(main line Is the root), hierarchy (box diagram)
charts for each module, action diagrams (modern
style flow charts) for each PRG or procedure,
DBF listings (structure, indexes, more), where
used/updated listings for fields and all variables
— by module and by line number within each
module.
Our written money-back satisfaction guarantee
set a new standard when we began it in 1985.
(Return rate to date: 9.6% and dropping!) No
copy protection, royalties or other nonsense.
Suggested retail: $295 each, (800) support
included. At your dealer today. Call us for a very
special offer on our latest release! (800) 233-
3569 or, in NY. (212) 406-7026.
WMt
The Computer Aided Software
Engineering Corporation
233 Broadway, Suite 869, New York, NY 10279
CIRCLE NO. 132 ON READER SERVICE CARD
213
SEPTEMBER 1987
The new generation of software
development tools are here.
Now .. I I
n
J. J Irs
I I_
Your Move
The only fully-integrated family of software development
tools designed for today’s programming needs.
You’re looking for a language which can handle today’s programming tasks:
expert systems, natural language, relational databases, intelligent human interfaces.
Your best move is Arity/Prolog. Arity/Prolog is the foundation for a variety of
programming tools designed to meet your programming needs. I
Expert Systems
Arity/Expert is a programming tool which
bridges the gap between a human’s view of a
problem and a computer’s view of the problem.
Arity/Expert is a frame-based system which
features backward chaining, automatic explan¬
ation generation, positive and negative confi¬
dence factors, and complete system debugging
facilities. And Arity/Expert is designed with
a unique open-end^ architecture that allows
you to customize your expert system to
match your individual needs.
SQL
l-800-PC-^
(Mass: 617-3’
Vrity
71-1243)
Structured Query Language (SQL) is fast becoming the
industry standard relational database interface language.
The Arity/SQL package lets you easily add this familiar
database interface to your Arity/Prolog applications. Using
Arity/SQL queries, you can easily display specific information
from a database table, combine data from many different
tables, and perform comparisons among data in the database.
If you’re planning to incorporate relational database technology
into any of your applications, you’ll want to use the
combination of Arity/Prolog and Arity/SQL to speed your
development efforts.
EXPERT CONSULTANT: APPUED AI
ROBERT E. SHOSTAK and RICHARD L. SCHWARTZ
When a Program Has to Work
Formal program verification is a difficult but powerful
approach to increasing software reliability.
C onsider the following scenario . . .
The ribbon has been cut and the
hoopla has subsided; finally it is time
to get down to the serious business of
bringing the newborn South Bronx
Nuclear Power Station up to full power.
Some residents and businesses had
questioned the wisdom of such a
move, but the location really was ideal
and the price of the real estate had
been right. In any case, the local politi¬
cians had seen to it that that the opera¬
tion of the plant would be controlled
completely in the software—thereby
ensuring that it would be free of any
possibility of human error. Lucky for
you, as programmer-in-charge, that you
discovered the “last” major bug a good
two days before . . .
Or, how about this possibility:
Today was the day—the fabrication of
the first five million chip sets. Follow¬
ing Big Blue’s latest West Coast acquisi¬
tion, no one was the least bit surprised
to learn that the much-heralded Macln-
Dos operating system would require a
new chip, the 680386. As the genius
behind the microcode, you stare va¬
cantly at the two megatransistor layout
pinned to the wall—an amazing feat,
considering you had only six months of
development time. It does work, you
tell yourself—after all, it ran Flight
Simulator in protected mode, didn’t it?
Let’s face it, although these scenes
are obviously hypothetical (and per¬
haps, far-fetched), situations are going
to come up in which a piece of soft¬
ware just has to work. As any program¬
mer knows, the traditional methods of
increasing program reliability—desk
checking and testing—are far from per¬
fect. The use of structured program¬
ming disciplines and high-level lan¬
guage features can help enormously, of
course, but a programmer can always
write a structured program that does
the wrong thing.
Formal program verification, a dif¬
ficult but powerful approach to increas¬
ing software reliability, is worth consid¬
ering. Verification, as it is known by
researchers, is one of the first and
most important applications of machine
reasoning. Simply stated, verification is
intended to prove in a mathematical
sense that a program is correct.
Unlike testing, which can affirm
that a program works properly for a
finite set of test inputs, formal verifica¬
tion seeks to prove correctness for all
possible inputs—even if the possibili¬
ties are infinite. Formal verification as¬
pires to a degree of reliability that tra¬
ditional testing simply cannot match.
Once the most straightforward er¬
rors have been exorcised from a pro¬
gram, the remaining bugs are likely to
be subtle boundary-condition problems
that are difficult to expose using auto¬
matic testing. Moreover, for realtime
applications, it can be difficult to pre¬
dict likely inputs in advance. For exam¬
ple, a recent space shuttle mission was
aborted just moments before launch
because of a software problem. Appar¬
ently, the system had never been tested
under exact launch conditions.
DEFINING CORRECTNESS
Before describing how formal verifica¬
tion works, we should discuss what it
means for a program to be correct. In
the first place, correctness has no
meaning unless the exact intent of the
program in question is understood.
A good example is the DOS 2.x
and 3.x call tliat writes data to a file. If
zero is specified as the number of
bytes to be written, the file is actually
truncated at the current seek position.
Although this oddity is not documented
in the accompanying DOS manual,
many programmers take advantage of it
as the only way to return file storage to
the operating system short of deleting
the file. Should this be considered a
bug or a program feature? Only Micro¬
soft can say for sure.
Clearly, to prove the correctness of
a program in a mathematical sense, the
program’s intent must be able to be
expressed in a precise and formal man¬
ner. This can be accomplished in two
ways. One is to exhibit a second pro¬
gram that defines the desired behavior
of the first. The second program might
be a simpler, less optimal version of
the first that can be determined by in¬
spection to do the right thing. Proving
the correctness of the first program
then becomes a matter of showing that
it is equivalent to the second.
The more frequently used method
of expressing intent, and the one we
will be concerned with here, is to
write a description of the program in a
formal specification language. The spec-
SEPTEMBER 1987
215
ILLUSTRATION • MACIEK ALBRECHT
EXPERT CONSULTANT: APPUED AI
ATTENIION
RHAHRS.
YOU SHOULD
CARRY
PC TECH JOURNAL,
THE MAGAZINE
FOR IBM PC
SYSTEMS EXPERTS.
E very issue of PC TECH
JOURNAL speaks to
your advanced cus¬
tomers who are systems
designers, developers,
integrators and DP/MIS
professionals. Increase
the sale of the applica¬
tions software, languages,
operating systems and
hardware you carry
with the most respected
magazine written for
sophisticated IBM PC
professionals—-PC tfph
JOURNAL
For more inform
on how you can carr]
this "silent salesman'
for greater prof its, c
(212) 503-5380 or wri
/"—' Benedet
<etail Sales
Marketing Ma
Ziff-Davis PubI
Zompan]
kAvenu
NY 10016
In this flowchart, a is the input assertion, j3 and y are the output assertions.
ification language can be either a flavor
of mathematical logic or a higher-level
language that can be translated easily
into mathematical logic. In either case,
the intent of the program is expressed
in a declarative manner rather than in
a procedural manner. In other words,
the specification says what the program
is supposed to do, whereas the proce¬
dural explanation says how it is sup¬
posed to do it.
Suppose the program being ana¬
lyzed were a sorting algorithm that was
taking an array A of dimension n as
input. The specification might include
an assertion (or logical formula) stating
that after execution of xhe algorithm,
the elements of A are in ascending
order—that is,
l<iAi<n D A[i] < A[i-h 1]
Here, A stands for the logical atjd, and
D stands for logical implies. Note that
this assertion says nothing at all about
which sorting technique is to be used
to accomplish the task—it could be a
bubble sort, a quicksort, or whatever.
But it is not really enough just to say
that tlTe output is sorted. To be com¬
plete, another assertion stating that the
output is a permutation of the input
also would be necessary^
216
PC TECH JOURNAL
Symbolic execution of a path through the flowchart (in this case y = 0 and
X # 0) yields a verification condition that asserts the correctness of the path.
FLOYD^S METHOD
In essence, Floyd’s Method of formal
verification (which is named after the
Stanford University professor who pop¬
ularized it in the 1960s) works by re¬
ducing a program to a set of formulas
in mathematical logic that are true if
and only if the program is correct. The
formulas are proved either manually or
with the aid of an automatic theorem¬
proving system.
Floyd’s Method requires the pro¬
gram to be specified by associating as¬
sertions at various points within it. In
particular, an input assertion is placed
at the entiy^ point of the program, and
an output assertion is placed at each
exit. The input assertion states condi¬
tions that the inputs to the program are
assumed to satisfy. In the case of a pro¬
gram ROOT that computes square
roots, for example, the input assertion
might require the input to be a non¬
negative real number.
The output assertions, on the
other hand, say what relationship the
outputs of the program must bear to
the inputs. If a' represents the input to
ROOT and y the output, the output as¬
sertion might be something like
I y - Vx I < .001 * Vx
This states that ROOT is good to within
.1 percent of the true square root of x.
(Floyd’s Method also entails that asser¬
tions be placed at intermediate points
within the program. This process is
explained below.)
Now consider the program
GCD(a,b) (see the flowchart dia¬
grammed in figure 1), which computes
the greatest common divisor (GCD) of
two non-negative integers a and b. (For
example, the greatest common divisor
of 12 and 8 is 4.) Program GCD is a
simplified version of the Euclidean Al¬
gorithm. As the diagram clearly shows,
it works by repeatedly subtracting its
inputs from each other until one or the
other gets down to zero.
Figure 1 also shows an input as¬
sertion annotating the enti*)^ point to
the flowchart and an output assertion at
each of the two exits. The input asser¬
tion, a, prescribes that the two inputs
to the program be non-negative (the
algorithm would not always work
otherwise), and the output assertions,
P and y, state that the value returned
by the program is in fact the greatest
common divisor of a and b. (Note that
the function gcd() in this specification
refers to the true mathematical gcd
function—not to die program of the
same name.)
What we want to show is that if
particular inputs a and b satisfy the
input assertion, then one or the other
of the output assertions (depending on
which exit is taken) will be true upon
return from the program. The demon¬
stration is carried out by means of a
technique known as symibolic execu¬
tion. The process of symbolic execu¬
tion is veiy much like simulation, ex¬
cept that symbolic inputs are used
rather than actual numeric inputs. If
program execution can be thought of
as pushing numerical inputs around
the flowchart, then symbolic execution
can be thought of as pushing the input
assertion around the flowchart.
Here is how it is done. First con¬
sider a straight shot through the flow¬
chart from the entry point through to
the second exit, without looping even
once. Figure 2 shows this path, along
with the results of pushing the input
assertion from statement to statement.
The head of the path is annotated with
the input assertion itself—all we know
at the beginning is that both a and b
are non-negative.
The effect of symbolically execut¬
ing the statement x = a is to conjoin
another clause stating that the variables
X and a now have the same value. In
similar fashion, pushing this assertion
over the assignment y = b results in
adding a clause stating that y and b
now have the same value. Next, passing
through the no branch of the test on
we tack on a clause asserting the result
of that test. Finally, moving through the
corresponding test on y, we arrive at
the resultant assertion that is shown
just above the return box.
SEPTEMBER 1987
217
EXPERT CONSULTANT: APPUED AI
A new assertion, 8 , has been added within the loop in the flowchart. The loop
invariant 8 is true whenever control reaches that point.
Any program inputs that satisfy the
input assertion and drive execution
along this path must satisfy the resul¬
tant assertion. To prove correctness for
this path, we need to show only that
this assertion implies the output asser¬
tion, y. In other words, we must show
that the formula
a^OAb^OAx = aAy = bAx <> 0
A y = 0
D
X = gcd(a,b)
is a valid (always true) formula. The im¬
plication is called a verification condi¬
tion, because its truth verifies the path.
In fact, the validity of this particu¬
lar verification condition is quite easy
to establish. Because it follows from
the premise of the implication that b
and y both must be zero and that a
and X are equal, the conclusion can be
simplified to a = gcd(a,0). Any integer
divides zero; thus, this last formula is
called an identity.
Of course, we have so far consid¬
ered only one possible execution path.
However, because we can go around
tlie loop any number of times depend¬
ing on the inputs, an infinite number
of possible execution paths must be
considered. In principle, we could de¬
rive and prove a verification condition
for each. In practice, naturally, we need
to be more clever than that.
The trick is to introduce still an¬
other assertion (in this case S) to be
associated with an intermediate point
in the program (see figure 3). The new
assertion is called an invariant, be¬
cause it is supposed to be true when¬
ever flow of control reaches the point
in the program to which it is attached.
In the example used here, the invariant
states that the variables x and y are
non-negative and that the GCD of the
inputs a and b is the same as the GCD
of the variables .x and y.
The invariant is placed strategically
at a point where it cuts the main loop
of the program. As shown in figure 4,
this placement permits the flowchart to
be decomposed into a number of strips
of straight-line code, each strip begin¬
ning and ending with an assertion. Any
execution path through the original
flowchart can be broken down into a
traversal of the strips. (For an execu¬
tion path that loops, strips II and III
might each be traversed more than
once.) Note that in the sequence of
strips corresponding to a given execu¬
tion, the assertion labeling the bottom
of each strip is the same as the asser¬
tion labeling the top of the next strip
in the sequence.
The proof strategy involves consid¬
ering the strips individually. For each
one, it must be proved that if the asser¬
tion labeling the top of the strip holds
for particular values of the variables,
and the strip is executed for those val¬
ues, then the assertion labeling the bot¬
tom of the strip will hold when execu¬
tion reaches that point. It then follows
that any execution path satisfying the
input assertion at the beginning of exe¬
cution necessarily satisfies the output
assertion at the end of execution.
To verify each strip, the symbolic
execution procedure (explained above)
is used to generate a verification condi¬
tion. The verification condition is then
proved, either manually or with the
help of an automated theorem prover.
Figures 5 and 6 show the asser¬
tions that are obtained from symbolic
execution and the resultant verification
conditions for strips I and II, respec¬
tively. The verification condition for
strip I is trivial; however, proving the
verification condition for strip II does
requires some reasoning in elementary^
number theory^
Because strip II represents a loop
in the flowchart, the same assertion, S,
labels both its top and its bottom. The
verification condition for tliis strip as-
218
PC TECH JOURNAL
The flowchart has been decomposed into strips where each strip represents a straiglit-line path through the program.
sens that the invariant 8 is strong
enough to carn^ itself around the loop.
If you are familiar with the principle of
mathematical induction, think of this
invariant as a kind of induction hypoth¬
esis. Instead of proving that “if the hy¬
pothesis is true for n, it is also true for
n 1,'" we must prove that “if the hy¬
pothesis is true for the current values
of the variables, it remains true after
traversing the loop once.”
VEMFICATION DIFnCULTIES
The practical problems encountered
when applying formal verification tech¬
niques to real-world problems can be
formidable. As we have noted, formal
methods require that the intended be¬
havior be specified in a precise, mathe¬
matical way. Depending on the applica¬
tion, the specification process itself can
be an enormous task. Expressing the
intended behavior of a compiler, for
example, requires encoding the seman¬
tics of both the language to be com¬
piled and of the target instruction set.
Moreover, the proof of correctness is
only as good as the specification; if the
specification contains errors, the proof
may be worthless. In theory, of course,
a specification should be a clear, crisp
PC MAINFRAME
VIA 9-TRACK TAPE
For Information Interchange-Backup-Archival Storage
IBM format compatible 9-track, '/2 inch magnetic tape is the universally accepted
media for mainframes and minicomputers. Catamount offers Low Cost, Lightweight
9-track Tape Subsystems for the IBM-PC/XT/AT computers which allow:
• Reading tapes generated on mainframes and minicomputers.
• Writing tapes to be read on mainframes and minis.
• ASCII, EBCDIC and Binary tapes accommodated.
• 800 bpi NRZI, bpi PE, and 6250 bpi OCR format systems available.
• Storage capacities up to 270 MB on a single reel.
Systems come complete with comprehensive DOS command syntax oriented
software and an Installable Device Driver. For OEM applications,
the tape controller is available separately.
SEPTEMBER 1987
CIRCLE NO. Ill ON READER SERVICE CARD
219
EXPERT CONSULTANT: APPUED AI
Statement of intent tliat someone other
than its author can examine and ap¬
prove. If not properly prepared, how¬
ever, the specification can be less relia¬
ble than the code itself.
Another problem lies in the deter¬
mination of the invariant assertions
needed to cut the program into a se¬
ries of strips. As noted above, these
invariants play the roles of induction
hypotheses and must be able to carry
themselves around the loops in the
program. In the 1970s, a good deal of
research effort was focused on the
problem of generating these assertions
automatically. That work was only mod¬
erately successful overafl because speci¬
fying these invariants generally requires
the talents of experienced and skilled
users of the technology.
One of the most difficult aspects of
formal verification is actually proving
the verification conditions. As you can
guess by examining the one generated
for the simple path shown in figure 6,
verification conditions can be quite
complicated. For more involved pro¬
grams, these conditions can comprise
pages and pages of text—too much
even for skilled mathematicians to
prove manually with any hope of relia¬
bility. Fortunately, these kinds of for¬
mulas are not usually very profound in
the mathematical sense, thus they lend
tliemselves favorably to machine-aided
reasoning techniques.
In spite of the difficulties, much
progress has been made in the last
decade in the development of com¬
puter-based formal verification systems.
The authors of this column, for exam¬
ple, have designed and implemented
an experimental specification and veri¬
fication system that has been used to
prove correctness properties of a fault-
tolerant distributed computer. More
recently, these techniques also have
been applied to the verification of
microprocessor designs.
Verification of real systems is an
extremely time-consuming and expen¬
sive proposition. The process costs
roughly $1,000 a line (and that cost per
line increases as the number of lines
increases). Nevertheless, for applica¬
tions that involve the risk of human
life, or whenever extreme reliability is
necessary—in other words, when the
program simply miist work—the cost
can be well worth it. I '"1111
Robert E. Shostak, Ph.D., and Richard L
Schwartz, Ph.D., are vice presidents of devel¬
opment and cofounders of Ansa Software.
Symbolic execution of strip I leads to a verification condition. This formula asserts
the correctness of the path and should always be true on exit from the strip.
Similar to strip I in figure 5, symbolic execution of strip II leads to a verification
condition. This formula asserts the correctness of the path.
220
PC TECH JOURNAL
USERS CAN ADD NEW FUNCTIONS
TO LOTUS, WORDSTAR AND dBASE
)Move into
WEINER SHELL
GET ROOM TO GROW
• Add your own functions to LOTUS, WORDSTAR, dBASE &
most other programs on the market.
• Custom-design memory-resident windows, menus, screens &
utilities.
• Run Shell programs without leaving your application.
• Execute Shell programs automatically, at timed intervals, or
with user-defined hot keys.
• 'SOK memory required. Supports up to 8M bytes of Lotus-
Intel memory.
• $199 (includes limited no-royalty agreement).
THE FIRST MEMORY-RESIDENT
PROGRAMMING LANGUAGE
miCROpROdUCtS
P.O. Box 4104/Silver Spring, MD 20904 (301)384-6868
CIRCLE NO. 146 ON READER SERVICE CARD
9-TRACK MAG. TAPE SUBSYSTEM
FOR THE IBM PC/XT/AT AND...
For information interchange, backup and archival storage,
IBEX offers a 9-track, IBM format-compatible V 2 magnetic
tape subsystem for the IBM PC, featuring:
■ IBM format 1600/3200 and 800 cpi.
■ Software for PC-DOS, MS-DOS.
■ Also for DEC, VAX, VME,
S-100, RS-232, IEEE 488.
Write, phone or TWX for information.
IBEX COMPUTER CORR
20741 Marilla St.
Chatsworth, CA 91311
(818) 709-8100
TWX; 910-493-2071
KADAK’S
engineers bring
years of practicai reai-time
experience to this mature
MULTI-TASKING SYSTEM
(version 2.0)
for the IBM® PC, PC/XT and PC/AT
No royalties
IBM PC DOS® support
C language support
Preemptive scheduler
Time slicing available
Intertask message passing
Dynamic operations:
- task create/delete
- task priorities
- memory allocation
Event Manager
Semaphore Manager
AMX86'“ operates on any 8086/88, 80186/88, 80286 system.
Demo package
Manual only
AMX86 system
$25 US
$75 US
$2195 US
(shipping/handling extra)
Aiso avaiiable for 8080, Z80. 68000
KADAK Products Ltd.
206-1847 W. Broadway
Vancouver, B.C., Canada
j- V6J1Y5
Telephone: (604) 734-2796
Telex: 04-55670
LAN Managers
If your nodes use the IBM PC-LAN program,
your backups could be omitting important files.
If the clock on any user workstation has an in¬
correct date, your incremental backups may be
a time bomb waiting to explode!
NctClock™ allows all nodes to retrieve the
Time & Date from a single fileserver.
NctClock™ Features:
• Improve integrity of directory dates for version identification
and incremental back up by date.
• Change to or from daylight savings time by simply resetting
ONLY the file server clock.
• Save money on future hardware purchases by installing
networked PC’s without clock boards.
• Liberal licensing policy allows an unlimited number of users
to execute NetClock from each licensed server.
• Improve network security by accurately tracking and logging
user activity with a consistent date and time.
__SessionWare, Inc_
2444 Moorpark Avenue, Suite ^300
San Jose, CA 95128
(408) 292-9951 Fax: (408) 293-5337
CIRCLE NO. 258 ON READER SERVICE CARD
CIRCLE NO. 200 ON READER SERVICE CARD
Minimum quantity—500 reprints.
interactive ^tnper®
5 2239
nPKSTATlO^®
^f?BTfNGAT$2998
DEC VT102/VT100/VT52 & Tektronix
4105/4010/4014 Terminal Emulator
Full color emulation and the features you want:
use 4096 X 3133 resolution
zoom, pan, and window plots
highest resolution printer dumps
choose text and plot color
transfer files with XMODEM
and Kermit protocols
large scroll back text buffer
132 column VT100 capability
20 User-definable keys
capture plots and text on disk
full or half duplex
hot key to access DOS
all VT100 keypad commands
command line editing
can create Lotus PIC files
password security
VTEK makes your PC better than a terminal
$150 from Scientific Endeavors
3 Publication Quality Graphics for
J Scientific and Technical Applications
linear, log, & polar plots
bar charts & Smith charts
contour plots with labels
3-D curves, 3-D surfaces
with hidden line removal
6 curve types, 8 markers
14 fonts, font editor
multiple levels of ;{Jg*'‘8cript8
4096 X 3120 resolution
zoom, pen, window plots
multiple plots on a page
high resolution printer and
plotter dumps in COLOR
use splines and scattered data
, £ 16 color plots on EGA, EVA, Sigma, TeleVideo & Tecmar boards
Over 125 routines to call from your C program
I SOURCE INCLUDED. Licensed for personal use only
I For OoSmet, C-86, Aztec, Lattice, and Microsoft C compilers
I $350. Demo $8.
Scientific Endeavors
Route 4, Box 79; Kingston, TN 37783
[615] 376-4146
1 Most PC equipment is supported
assembler is required.
this ad was made using Gr-phiC"
CIRCLE NO. 107 ON READER SERVICE CARD
EEll
ANALYSIS-
IBM ^
pc
°«a«graphy
lui ivn-n- —
r„,entMon
pectroscoi
products f
'’’w Assisted D®ttworldv^'de uso^M P ations.
sltls INTERACTIVE MICROWARE 1/
■UJ" »987/SM'PCCArALOG /
IBM 80 PAGES 224 PRODUCTS
/ IBM is a
/ registered trademark of
f International Business Machines Corp;
Apple is a registered
trademark of Apple Computer, Inc.
APPLE 80 PAGES 303 PRODUCTS
■ Ifla INTERACTIVE MICROWARE, INC.
■ 5 S S ■ POB 139, state College, PA 16804
■ ■ Phone; (814) 238-8294 • Telex 705250
CIRCLE NO. 208 FOR APPLE, NO. 209 FOR IBM
TAPENET
licro
0-Mainframe
CONNECTIONS.
In today’s information
age, sharing data
^ between your mainframe and PC
^ ^ is an essential link. Innovative Data
Technology’s 1/2-inch, 9-track tape
subsystems feature the new “LEO” intelligent
tape controller for the IBM-PC/XT/AT and
compatibles including the new 386 PC’s. These allow
users to write and read 7 or 9 track, industry standard tapes
in densities of 200/556/800/1600/6250 bpi with either ASCII or
EBCDIC codes compatible with most mini’s and mainframes. IDT
offers a complete DOS software package of user friendly window
software utilities with help screens that will enable you to move your
mainframe data to your PC. Included are: file transfer utilities for both
IBM labeled or unlabeled tapes, format and dump utilities,
and a comprehensive backup/restore utility. IDT also has software
support for XENIX and PICK operating systems.
IDT manufactures magnetic a
tape drives and controllers f"
offering a single vendor ,
interchange requirements.
For more information, ^
contact us today. \,
J u iNfNOvvTivF Eastgate Mall • San Diego. CA 92121
^ Idaia (619) 587-0555-TWX: (910) 335-1610
|W = technology Regional Offices;
Eastern: (609) 596-4538
Western: (714) 968-8082
• DOS/XENIX/PICK/IBM are registered trademarks of Microsoft/PICK/IBM respectively.
CIRCLE NO. 108 ON READER SERVICE CARD
When your product or company is
covered by this magazine, you can order
custom designed reprints* for use in pro¬
motional mailings, sales kits, press releases
and point-of- purchase displays.
For more information on how you can
take advantage of this wonderful promo¬
tional opportunity, call or write;
Jennifer Locke— Reprints Manager,
Ziff-Davis Publishing Company
One Park Avenue, New York, NY 10016
212-503-5447.
PC TECH JOURNAL
222
BOOK REVIEWS
Window Opened
With Programmer’s Guide to Windows, Durant,
Carlson, and Yao have produced a masterful
introduction to Windows programming.
Programmer's Guide to Windows
David Durant, Geta Carlson, Paul Yao
(Sybex, Alameda, CA 1987) 645 pages,
paper, $2195
Despite Microsoft’s
best efforts in doc¬
umentation, the
daunting steepness
of the learning
curve for develop¬
ing a Windows ap¬
plication is quite
intimidating. The
Windows application development tool¬
kit, although useful, is not a complete
teaching device for programming.
The difficulties of learning Win¬
dows programming can be traced to
the complexity of the environment: its
object orientation (subroutines often
pass information as objects named for
the information they contain), the 350
different subroutine calls, the relatively
low-level at which Windows functions,
and the messaging system for passing
event notification to the program. Win-
dows-programming difficulties also
stem from the philosophical style and
complexity of the operating environ¬
ment. This complexity boils down to a
simple paradigm: a Windows program
becomes a customizing extension to
the operating system with the operating
system controlling system resources (as
opposed to traditionally structured
DOS applications where the reverse is
true). With all of its intricacies, Win¬
dows programming needed a book to
rationally explain “how to do it.” Enter
Programmer's Guide to Windows, a
sorely needed treatment of the topic,
and it comes none too soon.
In this book, Durant, Carlson and
Yao introduce Windows programming
in a tutorial fashion, taking the time to
explain the concepts of the Windows
Development environment. The ap¬
proach is straightforward: the autliors
take a simple, working shell application
and step it through many iterations as
the text explores the numerous fea¬
tures of Windows. Because most Win¬
dows development is done in C, the
authors expect the reader to be famil¬
iar with that language.
The opening chapters introduce
the Windows philosophy of program¬
ming, the terminology, and discuss the
basic skeletal structure of a Windows
application. Here, the concept of a win¬
dow is introduced as well as the basic
objects that form the Windows environ¬
ment: pens, brushes, fonts, display con¬
texts, bit maps, and color.
By way of describing the common
code present in all standard Windows
applications, the Skeleton program is
introduced in the third chapter. This
program outlines the different initializa¬
tion steps required of every “good citi¬
zen” program operating under Win¬
dows. The shell will form the basis of
the remaining applications covered.
After covering the foundations:
messaging, multitasking, objects, and
message translation, the central chap¬
ters of the book take the reader
through the Windows basics. This topic
covers interactive communication with
the user using all of the Windows fea¬
tures: scroll bars, child windows, but¬
tons, dialogue boxes, the mouse, cur¬
sors, DOS files, and the graphical de¬
vice interface (GDI).
The book also covers Windows
development utilities. By the end of
this segment, most readers will be able
to produce a functional Windows appli¬
cation. The middle chapters also may
stand freely as references. The discus¬
sion of the GDI, it is worth pointing
out, is one of the best explanations of
the topic of viewports and windows
available. The treatment of coordinate
transformations is also noteworthy.
In its final segments, the book
tours through dynamic libraries, mem¬
ory management, and interapplication
data exchange. All of these points are
specific to the version of Windows and
are appropriately brief The book con¬
cludes with a description of the actual
mechanics of producing a Windows
application: programming tools and
debugging tools. The text describes the
key elements of 8086 instruction set in
order to understand the Windows
debugger, Symdeb. This useful section
lists the Windows RIP codes—the
codes that Windows displays whenever
it detects a fatal error.
Key points about Windows pro¬
gramming style are woven into liberal
doses of sample programs. The exam¬
ples themselves form the building
blocks for an individual programmer’s
own Windows application.
The book is well-written, its expla¬
nations are cogent, and the examples
are concise. Important, relevant points
deserving fuller explanations are placed
in sidebars. The figures amplify key
points in the text, aiding in compre¬
hension. The index is complete, and
the type is very readable.
While a few errors exist, most are
insignificant. The description of the
operation of the spooler under the
GDI is thin. Several program examples
introduce topics that are never covered
in the text. But, given the complexity of
the topic, the book’s infrequent out-of¬
sequence progression does not detract
from its overall quality.
The book is compulsory reading
for any serious developer of software
operating under Windows. Even with
the instability of the Windows develop¬
ment platform, as evidenced by the
advent of the Presentation Manager
under OS/2, the examples presented in
this book provide sufficient grounding
in Windows programming to allow
immediate upgrading to the Presenta¬
tion Manager when it becomes avail¬
able. Programmer's Guide to Windows
should be on every OS/2 and Windows
programmers’ shelves. (Tinmiiii m
—JOHN COCKERHAM
SEPTEMBER 1987
223
W hen you give PC TECH
JOURNAL as a gift to a
client or business col¬
league, you’re giving valuable
information on systems design
and integration.
PC TECH JOURNAL is the
recognized source of expert
facts for designers, integrators
and DP/MIS professionals who
require current information
and sophisticated applica¬
tions and input.
Give a gift that’s delivered
13 times * a year and save
50% off the annual single-
copy price of $53.35.
*Tbur gift subscription includes
the special PC TECH JOURNAL
Directory issue published in November!
THIS CARD
GIVESAimLEAGUE
AYEAR’S WORTH
OF VALUAHE INFORMAnON
AND INSIGHT
Send Gift TO:
I Mr./Mrs./Ms_
I Company_
I Address_
I City_
I Send Card FROM:
I Mr./Mrs./Ms_
I Company_
I Address_
City-
FOR FASTER SERVICE CALL TOLL-FREE 1-800-852-5200!
please print full name
State_Zip
State_Zip
OURNAL
P.O. BOX 2966
. BOULDER, CO 80322
4Z817
□ Bill me
□ Charge my credit card for $26.70 for
13 issues.
Check one:
□ AmEx □ Visa □ MasterCard
Card No.
Exp. Date_
Add S6 for postage outside USA, US currency only. Please
allow up to 60 days for delivery of first issue.
Basic annual subscription price is $34.97.
I
J
NEED IT FAST?
WANT TO KNOW MORE?
DON’T HAVE TIME TO
SHOP AROUND?
INTRODUaNG...
I f you’re like most system pro¬
fessionals you’re up-to-date
about the products in the PC
marketplace. You’re aware of
brand and model differences, are
informed about connectivity and
compatibility problems, and you
shop for competitive prices and
fast service.
You’re also probably among the
many PC TECH JOURNAL readers
who purchase by mail. That’s
why we’re starting THE MART—
PC TECH JOURNAL’S First Class
Mail-Order Section.
Starting this month, and every
month hereafter, you’ll find the
products you’re looking for
advertised in THE MART—and
you’ll benefit from the fast
service and helpful support that
identifies PC TECH JOURNAL
advertisers.
If you’re ready for First Class
service, you’re ready for THE
MART.
MAIL ORDER SECTION!
AST ADVANTAGE W/128K.$365
VID0 7VEGAEGA .$425
GENOA SPECTRUM.$295
FORTE PJ.$875
INTERNAL HARD DISKS FOR THE ^T
SEAGATE USED BY IBM
PRIAM 40 MB.:$1 195
PRIAM 60 MB.$1395
RODIME 20 MB.$595
RODIME32 MB.$695
CORE 20 MB"F".$1195
CORE 30 MB‘ F’’.$1395
CORE 40 MB.$1795
CORE 56 MB.$2595
CORE 7? MR _
1e reflects quentUy purchel
seag;
seag;
seag;
LASEF
128 Ah
|uir
und(
■Plot’s enha
Itor softwar
lompatibles
HOT" NEUJPRDDUC
ir AMERICA’S ^
LOWEST PRICES
ARE EVEN LOWER NOWI!!
(25 HS)
UNiock ALBUM “A”
$49.95
• LOTUS 1-2-3"“ {i.A. 1.A*. 2.0)
• dBASE lir“ (1.0, 1.1, 1.2 & PLUS)
• FRAMEWORK"” (i.o. i.i. ii)
• SYSTAT"” (1.3 & 2.0)
• SPOTLIGHr” (1.0 & 1.1)
• GRAPHWRITER"” (4.3 & 4.3i)
• REALIA COBOL"” (1.2.2.0)
AB HT.
B F. HT.
BF.HT • (25 MS)
dppcdi lu a I
bEC VT-100/VT-52, a Retrod
lo. a Tektronix 4010/4014 orj
|l Tektronix 4027. Over 12.Ol
Ijrrently in use world-wide atl
■rations, educational facilities.!
lind independent consulting T
W
(25 MS)
IBM XT 256K/1 Dr./20 MB
IBM XT 256K/1 Dr,/30 MB
IBMAT1^2K/20 MB
IBM AT512K/30 MB
Compaq Desk Pro-1 128K'1 Dr
Compaq Portable 256K/2 Dr
AST 6 PAK w/384 K/Advantage
MCI MSC w 384K
Samsung/PGS Max 12
Princeton HX 12/E
2250
2299
3895
3995
1699
1650
259/369
175
109/169
435/535
Hercules Color Card/Monochrome graphic 150/299
Hayes 1200B w/SW
US Robotics Courier 2400
349
419
iPEPn
liore information call toll frei
High Perfo?
Drive Subsystem
DRIVE PEI
|Confi9urotTon
SU:
Ithe industry's recognized leader in High Performance Sp€
live performed extensive research and developed unmafc
1 field. Our products offer the COMPLETE solution.
IxCELX -Switch from five frequencies including the standi;:
|l2HMz. Uses reliable frequency synthesis to allow compote i:
jwith all IBM ATs including the TYPE 2 and Model 239 ....
I Mil-Spec Crystals-The famous Ariel cyrsfols. Choose fronri:
116-17-18-19-20-21-22-23-24 MHz.
I FAST 80286-1 0-Micro-processor for 20-24 MHz speeds
SPECIALS
□
MR Hard nick
INTRODUCING
4CaST/r
Complete
Forecasting
System
For marketing, planning, financial
and forecasting professionals:
■ Easy to use menus with on-screen help
facilities
■ Most often used forecasting methods
■ Popular spreadsheet interfaces
■ Outstanding color graphics
■ Fast RAM-based program
■ Thoroughly tested and numericall>
accurate _
Dr MTR
389
479
559
895
775
379
360/499
539
575/675
ISA MC AMEX COD PO
Ne<®
I Exponential smooth
I .Step-wise and robusi
capabilities
I Macro language for
applications
I Full documentation
Only: S35() Demo I
4(aST/2\: includes a f
version of the Census'X
Onlv: S595 Demo E
“Top Sellers Series”
UNiock DISK “NO. 101”
Jt A C ship/handling
^ I 4.9 O Fofe.gn o-Oe.s S9l .
LOTUS 1-2-3“
(I.A. I.A*. 2.0)
“Top Seller Series"
UNIocks individual
best selling programs
at a special low price!
KvO
(\ei
Includes:
• Motherboard with Intel 80286
•640KofRAM, 1.2Megfloppy
•101 key, enhanced keyboard
•192 Watt power supply
•Clock-calendar with battery back-up
• Enhanced set-up and diagnostic
software and all documentation
•Western Digital controller card
80386 Upgrade From $800
e$2»s
ncati/m
When the going gets tough, call in the speed and power
of the cci 80386. . .This Powerhouse Includes:
•3 eight-bit, 3 sixteen-bit and
1 thirty-two bit expansion slot
*■'$319$
Intel 32 bit80386,at14.2MHz
•640K RAM and 1.2 Meg floppy
•Full 101 key enhanced keyboard
•Serial and parallel ports
•Optional high-speed 80287
^ Norton Rating avg. 18.4
THECCIST/3li6WnHPQ-IHS3K
Software Link’s PC—MOS 386 offers the speed and power of a
*100,000 minicomputer in a desktop PC. It allows multi-tasking,
accommodates up to 25 users, and gives them access to up to
four gigabytes of memory. ..Includes:
•TheCCI Sr/386 •Monographics adapter
2.6MB of RAM,1.2 Meg floppy • Monochrome Monitor
101 key, enhanced keyboard •A high speed 44MB drive
Serial and parallel port
PC-MOS386
Mf$499S
iComputer Classifieds, Inc.
17830 State Road 9, Miami, Florida 33162
(305) 651-5853 Telex 510-600-7725
Call Today (800)331-5150
In FL Call (305) 651-5853
Support Line (305) 651-0073
No charge for UPS ground shipping. No surcharge for MasterCard or Visa. Florida
residents add 5 percent sales tax. *30-Day Guarantee-Call or write for details.
All Trademarks Acknowledged.
CIRCLE NO. 235 ON READER SERVICE CARD
395
CALL
700
195
175
149
995
995
150
950
1250
400
175
795
ADVANTAGE 386 C
ADVANTAGE 386 PASCAL
PHARLAP386 ASM/LINK
PHARLAP386 DOS-EXTENDER
PHARLAP386 DEBUG
PC-MOS/386 1 USER
5 USERS
SCO XENIX SYSTEM V-COMPLETE 1295 9 95
SCO XENIX OPERATING SYSTEMS 595 499
MICROPORT SYSTEM V/AT 549 465
MICROPORT SOFTWARE DEV. SYS. 249 209
OTHER SCO & MICROPORT CALL CALL
ADVANTAGE C+ + 695 CALL
BTRIEVE 595 459
C-TERP 498 379
INFORMIX ESQUC 749 599
INFORMIX 4GL 1500 1235
INFORMIX SQL 995 795
MICROSOFT LANGUAGES C.ALL CALL
PANEL 625 535
PANEL PLUS 795 675
REAL TOOLS * 149 89
RM/COBOL 1250 949
RM/FORTRAN 750 549
135
39
55
59
89
599
69
CALL
89
59
65
CALL
CALL
NEW PRODUCTS
DATAPLEX—True relational database system that
is a powerful, flexible development tool. Includes
application generator, relational database manager,
on-line multi-file Query, forms processing system,
on-line multi-key ISAM, macro command language,
compiler & text editor.
List: single: $695 Ours $629
multi-user; $1,250 Ours $1,149
C- XPERT— Expert system development tool for
incorporating A1 programming capabilities into your
C programs. Includes backward & forward chaining,
attribute value pairs, frames, inheritance,
explanations, why facilities, legal and default values
& powerful text features.
List $295 Ours $259
ACTOR—Powerful new language built around
object-oriented programming, wjth windows being
defined as objects. Actor makes it easier to include
& control windows in application programs.
List: $495 Ours CALL
QUICK C+-Microsoft’s reply to Turbo C. Fast and
complete: compilation speed of 10,000 lines/min.
Includes source-level debugger, graphics libraries,
library manager, make facility.
List $100 Ours $69
LIST
OURS
PASCAL-2
350
329
TURBO PASCAL
100
65
BORLAND TURBO PASCAL
ADD ONS
CALL
CALL
TOOLS FOR TURBO PASCAL
FLASH-UP NEW
89
79
FLASH-UP TOOLBOX
49
45
METRABYTE DATA ACQ. TOOLS
100
89
T-DEBUG PLUS
60
49
TURBO ASYNCH PLUS
100
79
TURBO EXTENDER
85
65
TURBO HALO
129
99
TURBO MAGIC
99
CALL
TURBO OPTIMIZER
75
65
TURBO PROFESSIONAL
70
49
TURBO POWER TOOLS PLUS
100
79
TURBO POWER UTILITIES
95
79
TURBO WINDOW/PASCAL
80
69
1-800-445-7899
In NY: 914-332-4548
Customer Service:
914-332-0869
International Orders:
914-332-4548
Telex: 510-601-7602
Terms and Policies
• We honor MC, VISA, AMERICAN EXPRESS
No surcharge on credit card or C.O.D. Prepayment by
check. New York State residents add applicable sales
tax. Shipping and handling $3.00 per item, sent UPS
ground. Rush service available, prevailing rates.
• Programmer’s Paradise will match any current nation¬
ally advertised price for the products listed in this ad.
• Prices and Policies subject to change without notice.
• New Extended Hours 9AM EST—TPM EST
*Ask for details. Some manufacturers will not allow
returns once disk seals are broken.
Corporate Buyers—Call for special
discounts and benefits!
LIST OURS
SCREEN DISPLAY, WINDOWS FOR C
CURSES
125
89
W/SOURCE
250
169
FLASH-UP WINDOWS
90
79
GREENLEAF DATA WINDOWS
225
155
W/SOURCE
395
289
MICROSOFT WINDOWS
99
65
WINDOWS DEVELOPMENT KIT
500
309
ON-LINE HELP
149
105
PANEL
295
199
PANEL PLUS
495
395
POLYDESK HI
99
75
POLYDESK ADD ONS
CALL
CALL
QUICKSCREEN
195
175
SCREENPLAY (LATTICE)
150
135
SOFTSCREENHELP
195
169
VIEW MANAGER
275
199
VITAMIN C
225
165
VC SCREEN
99
79
WINDOWS FOR C
250
189
WINDOWS FOR DATA
395
315
ZVIEW
245
169
Programmer’s Paradise
42 River Street, Tarrytown, NY 10591
Programm er’s
nimuT
LIST OURS
C+ +
ADVANTAGE C + +
PFORCE + +
$ 495 479
395 225
C COMPILERS
C86 PLUS
DATALIGHT C DEVELOPER’S KIT
DATALIGHT OPTIMUM C
LATTICE C
W/SOURCE
LET’S C
W/CSD DEBUGGER
MICROSOFT C V 5.0
QUICK C
TURBO C
369
79
105
265
495
55
99
269
69
65
C INTERPRETERS
C-TERP
INSTANT C
RUN/C
RUN/C PROFESSIONAL
300 229
500 379
120 79
250 155
ASSEMBLERS, LINKERS
ADVANTAGE DISASSEMBLER
ADVANTAGE LINK
ASMLIB
MACRO ASSEMBLER
PASM-86
PLINK 86 PLUS
UNIWARE X-ASMS
295 265
395 359
149 129
150 93
195 109
495 299
CALL CALL
GRAPHICS
ADVANTAGE GRAPHICS
ESSENTIAL GRAPHICS
GRAPHIC
GSS GRAPHICS DEVELOPMENT
TOOLKIT
HALO—ONE LANGUAGE
HALO —FIVE MICROSOFT LANG.
HALO-DPE
METAWINDOW
METAWINDOW PLUS
METAFONTS
METAFONTS PLUS
TURBO WINDOW/C
C UTILITY LIBRARIES
ASYNCH MANAGER
BAS1C_C
BLACKSTAR FUNCTIONS
C-XPERT
C FOOD SMORGASBORD
W/SOURCE
C TOOLS PLUS
C TOOLS—TURBO
ESSENTIAL C UTILITY LIBRARY
ESSENTIAL COMMUNICATIONS
COMMUNICATIONS PLUS
GREENLEAF COMM
GREENLEAF FUNCTIONS
LINK & LOCATE
MUl.1 1-C
PFORCE
THE HAMMER
TIMESLICER
W/SOURCE
TOPVIEW TOOLBASKET
185 125
350 315
149 135
295 225
195 129
295 265
1000 CALL
250 179
FILE MANAGEMENT
BTRIEVE
XTRIEVE
REPORT OPTION
BTRIEVE/N
XTRIEVE/N
REPORT OPTION/N
C-TREE
R-TREE
C-TREE/R-TREE BUNDLE
DATAPLEX
DBClIl/II
W/SOURCE
DBC III PLUS
W/SOURCE
DB-VISTA
W/SOURCE
DB_QUERY
W/SOURCE
INFORMIX ESQL/C
INFORMIX 4GL
INFORMIX SQL
PHACT
245 185
245 185
145 99
595 455
595 4 55
345 269
395 315
295 239
650 519
695 649
250 169
500 359
750 595
1500 1185
195 129
495 389
195 129
495 389
595 479
995 789
795 639
295 265
DEBUGGERS
ADVANCED TRACE 86
BREAKOUT
C-SPRITE
80386 TOOLS
495 375
300 205
595 389
195 155
195 159
275 229
95 CALL
275 CALL
95 79
175 135
175 129
99 89
295 249
150 95
300 179
175 135
129 CALL
185 119
185 125
250 189
185 125
MAKE, LINT, PROFILE UTILITIES
ADVANTAGE MAKE
CODE SIFTER
LMK
PC-LINT
PFINISH
PMAKER
POLYMAKE
PRE-C
SAPIENS MAKE
THE PROFILER
CSD DEBUGGER
PERISCOPE I
PERISCOPE II
PERISCOPE Il-X
PERISCOPE III
PFIX 86 PLUS
XVIEW 86
ADDITIONAL PRODUCTS
COMMAND PLUS 80
DAN BRICKLIN’S DEMO PROGRAM 75
DISK OPTIMIZER 60
DIGITAL RESEARCH PRODUCTS CALL (
FASTBACK 175
MICROSOFT LEARNING DOS 50
NORTON COMMANDER 75
NORTON UTILITIES 100
PDISK 145
PFANTASY PACK 995
POLYBOOST 80
POLYTRON PVCS CALL
SIDETALK 120
SOURCE PRINT 97
TREEDIAGRAMMER 77
VENTURA PUBLISHER (XEROX) 895
VENTURA PUBLISHER (TURBO) 1595
OTHER LANGUAGES
ACTOR
APL*PLUS
CLIPPER
JANUS/ADA PACKS
LATTICE RPG II COMPILER
LOGITECH MODULA-2
PC FORTH
PERSONAL REXX
POCKET APL
495 CALL
595 429
695 459
CALL CALL
750 629
CALL CALL
150 109
125 99
95 75
225
185
285
LIST OURS
75 59
345 285
175 139
145 105
995 825
395 229
60 49
EDITORS
BRIEF
DBRIEF
BRIEF/DBRIEF BUNDLE
CVUE W/SOURCE
EDIX
EMACS
EPSILON
FIRSTIME(C)
KEDIT
LSE
PC/VI
PMATE
SPF/PC
VEDIT
VEDIT PLUS
195 CALL
95 CALL
285 CALL
250 199
195 155
295 265
195 149
295 229
125 99
125 99
149 109
195 115
195 145
150 99
185 129
ARTIFICIAL INTELLIGENCE
ARITY STANDARD PROLOG
GOLDEN COMMON LISP
MICROSOFT LISP
PC SCHEME
SMALL TALK V
TURBO PROLOG
TURBO PROLOG TOOLBOX
VP EXPERT
95 79
495 CALL
250 155
95 85
99 85
100 65
100 65
100 89
PASCAL COMPILERS
MARSHAL PASCAL
MICROSOFT PASCAL
189 169
300 185
BASIC
BASTOC
BETTERBASIC
BETTERTOOLS
FINALLY
MICROSOFT QUICKBASIC
QUICK PAK
TRUE BASIC .
TURBO BASIC
495 399
199 129
95 89
99 89
99 65
69 59
150 105
100 65
COBOL COMPILERS/UTILITIES
COBOL SPII
MICRO FOCUS COBOL
MICROSOFT COBOL
MICROSOFTSORT
MICRO/SPF
OPT-TECH SORT
REALIACICS
REALIA COBOL
REALIAMENU
RM/COBOL
RM/COBOL 8X
SCREENIO
SCREENPLAY
VISUAL COBOL (MBP)
329
CALL
439
129
155
115
785
785
119
649
909
CALL
129
695
FORTRAN COMPILERS/UTILITIES
LAHEY FORTRAN
LAHEY PERSONAL FORTRAN
MICROSOFT FORTRAN
RM FORTRAN
DIAGRAM’ER
DOCUMENT’ER
FORLIB PLUS
lO/PRO
MATH PAC
NO LIMIT
SSP/PC
STRINGS AND THINGS
477
95
450
595
129
129
70
149
495
129
350
70
CALL
CALL
269
399
115
115
45
129
445
115
269
49
XENIXAJNIX PRODUCTS
Programmer's Paradise Gives You Superb Selection,
Personal Service and Unbeatable Prices!
Welcome to Paradise. The MS/PC-DOS and XENIX software source that caters to your programming needs
Discover the Many Advantages of Paradise...
• Lowest price guaranteed • Huge inventory, immediate shipment • Special orders
• Latest versions • Knowledgeable sales staff • 30-day money-back guarantee
Over 500 brand-name products in stock—if you don’t see it, call!
We 11 Match Any Nationally Advertised Price
FREE SCIENTIFIC
& ENGINEERING
SOLUTIONS CATALOG
Describes 100 of Ute best software packages for
solving complex equations, number crunching,
analyzing data, 3-D CAD/CAM design, technical word
processing, circuit design, sophisticated grajflucs and
more-Call for your FREE catalog today!
CIRCLE NO. 173 ON READER SERVICE CARD
CANADA'S SOURCE
FORC
Compilers • Utilities 8c Aids • Editors
Interpreters • De-Bugging Tools
File Access Systems • Graphics
GREENLEAF
SOFTWARE©
Lattice
LIFEBOAT
Complete Line of Programming Development Tools
Full Service and Support - Fast Delivery
CORPORATE DISCOUNTS
(416) 449-9252/5
SCANTEL SYSTEMS LTD.
801 YORK MILLS RD.. 201, DON MILLS, ONT MSB 1X7
CIRCLE NO. 240 ON READER SERVICE CARD
Panasonic.
OTeleVideo
coTclata
PACKARD BELL
WYSE 286
DIGITIZERS
Kurta 12x12 .
S 454
Hitachi .
CALL
Houston Instruments.
CALL
Cal Comp.
CALL
Summagraphics 12x12 . . . .
. . 409
ELECTRONIC DIGITIZING
CAMERA & SOFTWARE
PLOTTERS
DMP-29 .
S 1699
DMP-41/42 - ' .
. 2360
DMP-51/52 .
. 3410
DMP-51/52MP .
. 3845
DM P-40 .
. . 868
DMP-56A .
. 4375
Roland DXY-880 .
979
Roland DXY-980 .
1279
Calcomp
1041 GT .
. 5729
1041 GTO W/Plot Mgr ....
. 6169
1042 GTW/Plot Mgr .
. 8729
1043 GT W/Plot Mgr .
. 7849
1044 GTW/Plot Mgr .
12249
loline .
CALL
Plotter Software .
CALL
MULTI USER SY STEMS
[allo:>1
UNiSYS
MONITORS
TERMINALS
LASER PRINTERS
OPTICAL SCANNER
CAD & DESKTOP
PUBLISHING
PRINTERS
120-D.120 CPS
MSP-10 .160 CPS ,
MSP-15 .160 CPS ,
MSP-20 . 200 CPS
MSP-25 . 200 CPS
PretTiier . 35 CPS
PANASONIC
KXP 1080 I
KXP 1091 I
KXP 1092 1
KXP 1592
KXP 1595
KXP 3131 ....
KXP 3151 ....
All NEC Printers
All Okidata . . .
Fujitsu .
Canon .
Alps.
Seikosha.
C. Itoh .
Star .
. . 120 CPS
. . 160 CPS
. . 240 CPS
. . 180 CPS
. . 240 CPS
. . 17 CPS
. . 22 CPS
S164
255
318
290
382
450
SI 69
187
309
392
425
250
382
CALL
CALL
CALL
CALL
CALL
CALL
CALL
CALL
Scoffsdale Systems
617 N. Scorrsdole Rd.. Scorrsdole. AZ 65257
602-941 -5856 1 -800-367-2369
For Inquiries _ Since 1980 _ For Orders
CIRCLE NO. 127 ON READER SERVICE CARD
?lsA_ \ /<2
compu'ter sales
PROFESSIONAL OESKTOP
PUBLISHING SYSTEM:
Suggested list $12,115
includes:
AST Premium 286 Model 170
Amdek 1280 White Monochrome Monitor Now Only
Microsoft Mouse ^
Texas Instruments Omnilaser 2108 ^
Xerox Ventura Publisher
AST Premium/286-Moclel 170 comes complete with 1 Megabyte of memory and a large 70
megabyte hard disk for the heaviest storage needs. Other features include 10 Mghz
operation, true zero wait state, serial and parallel printer ports.
Amdek 1280-White monochrome monitor specifically designed to support desktop
publishing applications. Features include 1280 x 800 resolution, white phosphor for
realistic page viewing and complete IBM compatibility for more software freedom.
Texas Instruments-Omnilaser 2108 featuring PostScript for great graphics, other features in¬
clude 8 pages per minute, high durability and direct connection to PC.
Zerox-Ventura Publisher is the premiere desktop publishing package on the market today.
Unique features include, predesigned layouts, built-in text editing, single or double sided
printing, true eading and kerning, accepts graphics generated by 1-2-3, Symphony.
AutoCAD and more.
* includes shipping and unlimited use of our technical support hotline!!!
Amdek
Amdek 31 OA-Amber $ 149
Amdek 41 OA-Amber $ 169
Amdek 41 OW-White $ 169
Amdek 41 OG-Green $ 162
Amdek 600S 13” RGB $ 369
Amdek 722 RGB/EGA $ 489
Amdek 1280 Crystal
White (1280x800) $ 799
AST Research
Premium 286 Model 80 $1595
Premium 286 Model 90 $1995
Premium 286 Model 120 $2495
Premium 286 Model 140 $2795
Premium 286 Model 170 $3195
Sixpak Premium 256K $ 209
Advantage Premium 512K $ 449
Fourport $ 339
TurboScan $1898
5251/11 $ 579
5251/11 Plus $649
5251/12 $ 519
3270 Coax $ 649
3780 $ 599
Epson
FX-86E $ 369
FX-286E $ 519
LQ-800 $ 519
LQ-1000 $ 729
LQ-2500 $ 999
Hayes
1200 B with software $ 359
1200 B w/o software $ 339
Smartmodem 1200 $399
2400 B with software $ 509
2400 B w/o software $ 489
Smartmodem 2400 $ 589
Hercules
Color Crad $ 149
Graphic Card $ 189
lnt;el
inboard 386 $1495
Above Board PS/AT 128K$ 449
Above Board AT 128K $ 219
Above Board 286 512K $ 479
Above Board PS/286 512K $ 449
8087(8 Mhz) $ 189
80287(8 Mhz) $ 299
Kensington
Masterpiece $ 109
Master Piece Pius $ 139
Maynard
internal 60 Meg Tape
Backup $ 799
External 60 Meg Tape
Backup $ 949
Microsoft
Microsoft Mouse $ 129
Nec
Nec Multisync $ 569
Texas Instruments
Omnilaser 2108 8pg/1 Min $4595
Omnilaser 211515p^1 Min $5995
Torington
Manager Mouse $ 99
Video -7
Vega $ 299
Vega Plus $ 369
ORDER TOLL FREE — 800-526-5313
NO-RISK 3a-DAY SATISFACTION QUARANTEE If yOU’re HOt 100%
satisfied with any Hardware or Accessories purchased from CDA Computer
Sales, we will refund your purchase price 100% no questions asked!
FREE TECHNICAL SUPPORT HOTLINE We Support our customers With
knowledgable technicians on all products we sell. A Technical Support Hotline is
provided for all our customers.
ORDER VIA MAIL - Write: CDA Computer Sales, 31 Marshall Hill Road,
West Milford, New Jersey 07480. Please include full name, address, and phone
number.
ORDER VIA TELEPHONE - 1-800-526-5313
ORDER VIA COMPUSERVE’S ELECTRONIC MALL - 24 hOUrS a day!
GO woe
FREIGHT - UPS GROUND SHIPPING - Add 2o/o ($3.50 minimum). UPS BLUE
LABEL SHIPPING - Add 5% (two-day delivery. $5.50 minimum). APO/FPO SHIP¬
PING - Add 4% ($4.50 minimum). ALASKA, HAWAII, PUERTO RICO - Add 6%
($6.50 minimum). FOREIGN ORDERS - Please call.
MAJOR CREDIT CARDS ACCEPTED - No additional charge! Cashiers
Checks, Money Orders, Personal and Company checks accepted. NO COD’s
please!
In N.J. 501-728-8080 — Inquiries S. Cuat:omer Service
801-788-8088 Mon.-Fri. 8-8 EST Sat. 10-A E8T
CIRCLE NO. 117 ON READER SERVICE CARD
UNLOCK " Products Remove Copy Protection
RUNS YOUR SOFTWARE ON ANY HARD DISK
UNlock "copying” disk allows you to make
"unprotected” DOS copies of popular original
program disks. Unprotected backup copies
perform perfectly, as do copies of these copies.
UNlock copies run on any hard disk, including
Bernouli Boxes. No original required in drive
"A”. Run on a RAM disk simply and conven¬
iently. Also, copy DOS 5^A'' programs to 3Vi
diskettes. For IBM® PC, XT, AT, compatibles,
256K or more, DOS 2.1 or higher. Back-ups
don’t require tedious un-installs, and reorgan¬
izing your hard disk doesn’t result in your
software calling you a thief! Back-ups are as
easy as the "COPY” command in DOS.
unlock- album "D” plus
• dBASE III & dBASE III PLUS™ (1.0)
• FRAMEWORK I &. II™ (1.0)
• CLIPPER™ (THRU WINTER '85)
• FASTBACK™ (5.3)
• CHARTMASTER™ (6.1, 6.2)
• SIGNMASTER™ (5.1)
• EXDLLARS & SENSE™ (2.0)
• LOTUS 1-2-3™ (l.A, 1.A*, 2.0, 2.01)
$74.95
(Plus $4 ship/handling.
. symphony™ (I.l, 1.2)
• LOTUS 1-2-3 REPORT WRITER™ (1.0)
• DOUBLEDOS™ (ALL)
• HARVARD TOTAL PROJECT MGR,™ (1.10)
• MANAGING YOUR MONEY™ (ALL)
• THINKTANK™ (2.0, 2.1)
• MICROSOFT WORD™ (1.15, 2.0, 2.01)
UNLOCK^^ MasterKey"^ Introductory Price $159.95
Now, the most comprehensive copy protection removal program ever created. ship/handling)
Breaks over eighty programs including Lotus 1-2-3™, Symphony™, PCFOCUS™, AUTOCAD™,
REDBOARD™, CAP™, Clipper™, and smARTWORK™ to name just a few. In addition, generic copy
busters for ProLok™ and Super L<xk™Jiave been included. With MasterKey, you can break many more
did
_ ly I _
programs than before. MasterKey, from TranSec Systems, gives you UNlock’s solid performance ana more.
CH OICE OF THE CRITICS!
iPERSONA^ “UNlock has two oarticularlv en-
dearing characteristics: it works,
and works simply. 1 was able to quickly produce un¬
protected copies of Lotus 1-2-3 release 2, Symphony
1.1, Microsoft Word 2.0, dBase 111 1.1, and Frame¬
work ll. These copies performed flawlessly, as did
users may prefer programs like TranSec’s UNlock
series.”
Winn L. Rosch, PC MAGAZINE, MAY 27‘, 1986
copies of these copies.”
Christopher O’Malley
PERSONAL COMPUTING, April ’86
•J U “Because copy protection can interfere with the
ability to back up a hard disk, business-oriented
PRODUCTS
ORDER TODAY TOLL FREE:
1 ^ 800 ^ 423^0772
IN FLORIDA: 1-305-276-1500
TranSec Systems, Inc., 220 Congress Park Drive, Delray Beach, FL 33445
Trademarks are the sole property of their respective owners. UNlock is for use only to improve the useability of legally
acquired and operated software.
PROIKTYOUR
COMES or
n
n
Make your collection of PC TECH JOURNAL a handsome addition to your office or home—and
protect and organize your copies for easy reference!
PC Tech Journal Magazine Binders and Cases are made of durable luxury-look leatherette
over quality binder board. Custom designed for PC Tech JOURNAL, every order receives FREE
transfer foil to mark dates and volume numbers.
FOR FAST SERVICE CALL TOLL-FREE 1-800-972-5858
-r
MAGAZINE BINDERS
Hold your
issues on
individual
'If
c/o Jesse Jones Industries
]!bUI^AL.E£^
Please send □ Binders □ Cases Quantity_
Payment enclosed $_* Add $1 per case/
binder for postage & handling. (Outside USA, add
$2.50 per case/binder ordered, US currency only.)
Charge my:
□ Amex □ Visa □ MC (Minimum order $15.)
OPEN BACK
CASES
Store your
copies for
individual
reference.
$795 each;
3 for $21.95; 6 for $39.95.
Card No._Exp. Date.
Mr./Mrs./Ms.
Address
(Please Print Full Name)
City
(Na P.O. Numbers Please)
State
Zip
*PA residents add 6% sales tax.
= EyTE =
CCNNECTICN INC.
I3€TTCM LINE
PRICE CUSTERS!
★ ★ ★ PERSONAL COMPUTERS ★ ★ ★
IBM Personal System/2 Model 30-002, .... $1449
IBM Personal Sy8tem/2 Model 60-041, .... $4395
IBM AT #339, 1.2 Floppy. IBM 30 MB, K.B .$3675
COMPAQ DESK PRO 286, (12 MH) .$2250
COMPAQ DESK PRO 386, w/1.2 FI.. 40 MB. .. $4925
COMPAQ PORTABLE III Model 20,.$4399
SPERRY IT, W/640K. 1.2 FI.. 44 MB. K.B.. 80287 .$2975
AST 286, W/512K. 1.2 Floppy. Keyboard .$1649
_ ★ ★ ★ PLOTTERS ★ ★ ★
CALCOMP1043 (A-E).
CALCOMP 1044 (A-E, Roll).
HI DMP56A(A - E).
HI DMP 51/52 (C- D).
HI DMP 41/42 (C- D).
HP Color Pro 7440 (A, 8).
HP 7475 (A-B, 6 Pen).
HP Draft Pro 7570 (C - D, 8 Pen) .
HP7580B(A- D, 8 Pen).
lO LINE LP3700 (A-E).
lO LINE LP4000 (A-E).
ROLAND DXY - 990 (A - B, 8 Pen)
★ ★ ★ DIGITIZERS ★ ★ ★
CALCOMP 12 X 12.$ 709
CALCOMP44x60 .$5099
GTCO 12x12.$ 525
GTCO 24x36 .$2450
HITACHI 15x15.$1395
KURTA 12x12.$ 580
KURTA 12x17.$ 675
SUMMAGRAPHICS 12x12.$ 435
SUMMAGRAPHICS 12x17.$ 735
★ ★ GRAPHIC CONTROLLERS & MONITORS ★ ★
NEC JC-1401 & VEGA DELUXE,.$ 920
MITSUBISHI 6922PLPK & ARTIST 1,
(1024 X 7681).$3195
HITACHI CM - 2073B & ARTIST 10/16, .... $4349
Samsung EGA, Monitor & EGA Card.$ 649
BNW 1 51 (1024 X 10241) .$1245
VMI 88 25 (1024 x 800N) .$2245
ARTIST 10 (1024 x 768N) .$2275
PHOTON (1024 X 512N) 800 -f- . $ 975
SPECIAL OF THE MONTH
CAD SYSTEM, AST 1 Meg, 44 MB,
80287, Ega, NEC 1401, Autocad, Summa-
graphics 1201, HI DMP 40.$7395
★ ★ ★ SOFTWARE# ★ ★
AUTOCAD 2.6.$2299
Other CAD Software.CALL
Computer Assodiate, A/R. A/P. G/LI/G. .. Each $ 429
VENTURA Desktop Publishing S/W.$ 625
Lotus.$349 Wordstar R4.$285
CYMA Med.. Deni. Ortho. Chiro. (Comp. Pkg.) .$1625
★ ★ ★ PRINTERS ★ ★ ★
HEWLETT-PACKARD SERIES II.$1875
OKIDATA LASER PRINTER.$1595
NCR LASER PRINTER.$1845
BROTHER HR 40, with Sheet Feeder .$ 675
FUJITSU 2200.$ 479
NEC P6.$ 490
OKIDATA 193 +.$ 499
TOSHIBA P341e.$ 725
# # HARD DRIVES & BACK UP SYSTEMS # #
PRIME VI50, 44 MB.$ 675
HARD CARD Plus, 20 MB.$ 675
SEAGATE 4096, 96 MB.$1195
ARCHIVE 60MB TAPE B/U.$ 695
CALL FOR WHAT IS NOT LISTED,
WEGUARANTEETHATYOURCALLWILLNOTBE
A WASTE. LEASING AVAILABLE.
No charges for testing and configuring equipment.
Prices and availability subject to change
without notice.
(714) 778-6496
Telex: 5101011636
167 West Cerritos Ave.
Anaheim, CA 92805 °
Open 8 - 5 PST
CIRCLE NO. 147 ON READER SERVICE CARD
. $7095
$10997
. $4549
. $3575
. $2549
. $ 995
. $1495
. $4495
. $8395
. $3149
. $4195
. $1599
229
SEPTEMBER 1987
20MB PLUS HARDCARD $695
20MB MAYNARD HOARD $759
ISl WORM 220MBINT. $3295
TEAC360K DRIVE $89
60MB ARCHIVE TAPE $740
60MB ARCH. EXT. TAPE $740
60MB GENOA TAPE $935
60MBSYSGEN $1089
TOSHIBA 3.5 DRIVE $150
TOSHIBA 10 MB DRIVE $899
•TOSHIBA 525 EXT. $349
Memoi
1800 +
IBM AT Compatible
512K of RAM
expandable to 1MB
1.2MB Floppy
AT Keyboard
Documentation and
Diagnostics
Made in the USA
1195
TOSHIBA Lap-Top
T-1100 PliiQ 10 MB Disk
1 liuu rius Drive Now Avail.
(DUAL FLOPPY)
• 256K Ram Memory tiooc:
• CMOS 80CS6 Run-
ning at 7.1 MHz • Two
720K 3.5" Floppy Drives
• One Expansion Slot •
TOSHIBA Keyboard • LCD Display
• Color Graphics/Monochrome Composite
Card • One Parallel and Serial Port • Clock Calendar
• External Floppy Drives Optional • DOS 2.1
Technical Support and Shipping and Receiving
(703) 761-617Z 78
ITS TEK-NET-BBS (703) 690-7462
"Serving the Nation's Capitol
and the World"
_ Software _
SUPERCALC 4 $335
SUPERPROJECT + $295
WORDPERFECT 4.2 $250
DBASE 3+ $430
POXBASE + $335
FRAMEWORK II $399
RBASE 5000 $320
RBASE SYSTEM V $396
CROSSTALK XVI $99
REFLEX $96
TURBO PASCAL $42
TURBO PROLOG $60
TURBO LIGHTNING $61
NORTON UTILITIES $57
MS WINDOWS $69
MS QUICKBASIC $65
MSC-COMPILER $298
MS WORD $280
WORDSTAR 2000 $270
MULTIMATE
Easy Business
Accounting Systems
GENERAL LEDGER $395
ACCOUNTS RECEIVABLl $395
ACCOUNTS PAYABLE $395
INV. CONTROL $395
RETAIL INVOICING $395
PAYROLL $458
ORDER ENTRY $395
TIME. BILLING & REC. $635
_ Video Cards
QUAD EGA + $379
PARADISE AUTO
SWITCH $419
STB EGA $299
TECHMAR EGA $299
VEGA DELUXE 399
NOVELL
NETWORKING
DESIGN &
INSTALLATION
• Prices subject to change
12/18/86
»10% re-stock fee
on all items
Open 7 days a week
(703) 847-4740 (800) 642-2395
Information and Technology Services, Inc.
Micro Systems Specialists
8478A Tyco Rd., Vienna, VA 22180
_ Drives _ _ Printers _
20 MB SEAGATE 65MS $399 NEC P-6 $480
30 MB SEAGATE RLL $499 NEC P-7 $685
20MBST4026AT $573 NEC P-5 $1122
30MBST4038AT $651 NEC P-5XL $1245
40MBST4051AT $792 PANASONIC 10801 $235
80 MB ST4096 AT $1273 PANASONIC 1091 1 $299
40MB PRIAM XT $1395 PANASONIC 1092 $360
60MB PRIAM XT $1450 PANASONIC 1592 $480
40MB PRIAM AT $1175 STAR LV1210 $189
60MB PRIAM AT $1350 STAR NX-15 $383
BERNOULLI DUAL 10 $1939 STAR ND-15 $445
BERNOULLI DUAL 20 $2594 STAR NR-15 $537
ISI WORM 220MB INT.
TEAC360K DRIVE
60MB ARCHIVE TAPE
60MB ARCH. EXT. TAPE
60MB GENOA TAPE
60MBSYSGEN
TOSHIBA 3.5 DRIVE
TOSHIBA 10 MB DRIVE
•TOSHIBA 525 EXT.
Visa, MC, CHOICE, AE
Leasing, Renting &
Financing available
r Boards
JRAM2
$129
JRAM 3 ABOVEBOARD
$179
JRAM AT
$179
JRAM AT3 ABOVEBOARD $239
JLASER MODULE
$265
JLASER -P AVAIL.
INTEL ABOVEBOARD
$438
AST RAMPAGE 512K
$485
ORCHID CRAMRAM
$291
ZUCKER BOARD
$68
AST6PAK -P W/384 +-•
$199
QUADBOARD W/384
$189
Chips
64K 150ns set of 9
64K 120ns set of 9
256K/150nssetof9 $
256K/120nssetof9 $
64x4
128K Pi^back
8087-3 $1
8087-8 $1
80287 5MHz $2
80287 6MHz $2
80287 8MHz $3
•Software non-returnable
if opened
• No surcharge on VISA, MC,
CHOICE.. .AE, 3%
NEC P-6
$480
NEC P-7
$685
NEC P-5
$1122
NEC P-5XL
$1245
PANASONIC 1080 I
$235
PANASONIC 1091 I
$299
PANASONIC 1092
$360
PANASONIC 1592
$480
STAR LV1210
$189
STAR NX-15
$383
STAR ND-15
$445
STAR NR-15
$537
STAR NB 24-15
$699
STAR SD-10
$355
STAR NX-10
$255
BROTHER 1509
$440
CITIZEN MSP-10
$320
CITIZEN MSP-15
$435
CITIZEN PREMIER 35
$485
TOSHIBA P341
$835
TOSHIBA P351
$1227
FUJITSU DLP24 .
$1239
FUJITSU DM91
$413
OKIDATA M182
$253
OKIDATA M192 -p
$412
OKDATA M193 -P
$613
OKDATA M84
$713
OKDATA 2410
$1976
EPSON FX-286
$624
EPSON LX-80
$285
EPSON FX-85
$434
EPSON LQ-800
$631
Laser Printers
CANON A1
$2095
CANAON A2
$3085
HP LASERJET
$2295
QMS KISS
$1995
XEROX 4045
$CALL
Specials
Color RGB Mon.
$305
Amdek310A
$150
TEAC 360 Drive
$89
Samsung Monitor
$89
Amdek722
$549
NEC Multi-Sync
$631
* *Other Systems
Sharp PC 7000
$1095
IBM XT
$1798
BMAT
$2789
‘Editor’s Choice”
ITS Turbo XT
1 year warranty
30 day
money back
guarantee
■ The $895 ITS
Turbo XT from
Information and
Technology Services
is our “best buy”
I recommendation
with 20MB $1224.00
PC MAGAZINE
OCT. 14, 1986
IBM® PC Compatible
«895
00
complete
'SPERRY
PC/IT
2,895
^ Superior to the IBM AT
ITJ Rated 8.8 by InfoWorld
44MB, 28ms Access Hard Drive
3 Speed Processor
Free 8MHz Math Coprocessor
1.2MB Floppy , 640K Ram
2 Serial/1 Parallel Ports
Clock/Calendar, AT Keyboard
DOS 3.1, Basic, System Guide i
00 1 year warranty
Available now
JSC
*4495
ITS
SYSTEM 386
BLACKHAWK
Features;
• INTEL 80386 CPU and support circuits
• INTEL designed motherbo^
• Phoenix BIOS
• 18 Mhz dock speed
• PC/AT compatible 8 Mhz snitchable
from keyboard
• 512K RAM standard up to 14 megabytes
• Parallel/Serial/Clock
• 8 Slot Expansion bus interface
2- PC Compatible 8 bit bus connectors
2-32 bit bus connectors
• Hard disk/Floppy disk controDer
• 1.2 megabyte floppy
BIOSAT8MHZ
CIRCLE NO. 134 ON READER SERVICE CARD
287Turbo^^-10/12
8087 SOFTWARE
IBM BASIC COMPILER .
MICROSOFT QUICK BASIC ....
87BASIC COMPILER PATCH ...
87BASIC/INLINE.
IBM MACRO ASSEMBLER.
MS MACRO ASSEMBLER.
87MACRO/DEBUG.
MICROSOFT FORTRAN V4 ....
RM FORTRAN.
LAHEY FORTRAN F77L.
MS or LATTICE C.
STSCAPL^ PLUS/PC .
STSC STATGRAPHICS.
SPSS/PC+.
87SFL Scientific Functions.
87FFT.
OBJASM .
PHOENIX PRODUCTS.
8087 UPGRADES
All MicroWay 8087s Include a one year
warranty, complete MicroWay Test
Program and installation instructions.
8087 5 MHz.$99
For the IBM PC, XT and cx)mpatibles
8087-2 8 MHz.$154
For Wang, AT&T, DeskPro, NEC, Leading Edge
80287-3 5 MHz.$159
80287-6 6 MHz.$179
For 8 MHz AT and compatibles
80287-8 8 MHz.$259
For the 8 MHz 80286 accelerator cards
80287-10 10 MHz.$395
80387-16 16 MHz.$495
PC-PAL™ Programmer.$395
64K 150ns.$15 256K 150ns.$36
Call for great prices on V20 & V30
.$465
..$79
$150
$200
$155
..$99
$199
$299
$399
.$477
CALL
$450
$675
$695
$250
$200
$200
CALL
tma
CtUA
P 287Turbo runs the 80287 at
10 or 12 MHz in the IBM PC
AT, compatibles and the
new Compaq 386with 100%
software compatibility.
10 MHz .$450
12 MHz .$550
PC Magazine “Editor’s Choice”
MICROWAY SOFTWARE
FOR LOTUS 1-2-3™
PowerDialer® Add-In for Lotus 1-2-3
Release 2. Automated telephone dialing
from within 1 -2-3. Adds least cost routing,
automatic carrier selection and automated
phone book worksheet. Builds cus¬
tomized dialing applications. Can be used
with DesqView. $79
FASTBREAK^^ employs the 8087 to in¬
crease the speed of Lotus 1 -2-3^^ Version
1A or 1 A*. Users are reporting speed ups
of between 3 and 36 to 1. When run with
our NUMBER SMASHER accelerator
card, recalculation speed ups of 10 to 30
are being reported . $79
HOTLINK'*' adds easy linking of spread¬
sheets to Lotus 1 -2-3 Version 1A... $99
287TURBO-PLUS™
Speeds up your AT
Adjustable 80286 Clcx;k 6-12 MHz
10 MHz 80287 Clock
Plus Full Hardware Reset.i
Optional 80286-10 . $175
Turns your AT into a high speed, multi-user
Xenix business system!
287TURBOPLUS
With 80287 10 MHz
With 80287 12 MHz
8 port. Intelligent serial controller with 3%
response degradation. Includes 8 MHz
80186 with built in DMA. $1299
CALL (617) 746-7341 FOR OUR COMPLETE CATALOG
MICROWAY ACCELERATES YOUR PC!
FastCACHE-286'''
Runs your PC Faster than an AT!
Runs the 80286 at 9 or 12 MHz and the
80287 at 8, 9 or 12 MHz. Includes 8
kbytes of 55ns CACHE.
Compatible with IBM PC, XT, Leading
Edge Model D, Compaq, and Turbo
motherboards. Includes 8088 Reboot
Switch, DCache, Print Spooler and
Diagnostics. From $399
LOTUS/INTEL EMS
SPECIFICATION BOARDS
MegaPage^"' The only EMS board which
comes populated with two megabytes of
cool-running, low power drain CMOS
RAM installed. Includes RAM disk, print
spooler, disk cache and EMS drivers. For
the IBM PC, XT and compatibles.. .$549
MegaPage with 0K. $149
MegaPage with 2 megabytes of HMOS
RAM. $419
MegaPage AT/ECC'"' EMS card for the
PC AT and compatibles includes Error
Correction Circuitry. With ECC, 11 RAM
chips cover 256K so the user never en¬
counters RAM errors. With 1 megabyte
CMOS RAM . $699
INTEL, JRAM, or Maynard_CALL
INTEL INBOARD 386 0K.$1250
12 MHz
8086/8087
Accelerator
Plus
A Megabyte for DOS!
For the IBM PC, XT and compatibles
PC Magazine “Editor’s Choice”
, Micro,
\i/\iay
P.O. Box 79
Kingston, Mass.
02364 USA
(617) 746-7341
The Worid Leader
in 8087 Support!
MicroWay Europe
32 High Street
Kingston-Upon-Thames
Surrey Engiand KTI 1HL
Teiephone: 01-541-5466
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
PRODUCT CATEGORIES
HARDWARE _ 233-234
ACCESSORY CARDS.233
COOLING DEVICES.
COMMUNICATIONS.234
COMPATIBLES.234
GENERAL .
MASS STORAGE.
PERIPHERALS.234
SECURITY DEVICES.
USED EQUIPMENT.
SOFTWARE _ 234-241
ARTIFICIAL INTELLIGENCE.
BUSINESS.234
COMMUNICATIONS.234-235
DATA BASE MANAGEMENT.241
EDUCATIONAL.
ENGINEERING.235
EXPERT SYSTEMS.
FINANCIAL.
GENERAL.235
GRAPHICS.235
LANGUAGES.235-236
MULTI/USER SYSTEMS.
NETWORKING.236
SOFTWARE continued
OPERATING SYSTEMS.236
PROGRAMMERS TOOLS.236-238
PUBLIC DOMAIN.238
SCIENTIFIC.238
SECURITY DEVICES.238
STATISTICS.238
TERMINAL EMULATION.238-239
UTILITIES.239-241
WORD PROCESSING.
MISCELLANEOUS 241
ACCESSORIES.
BAR CODING.241
BUSINESS OPPORTUNITIES.241
PUBLICATIONS.241
SUPPLIES.
Advertising Rates and Information:
PC Tech Journal Marketplace
PC Tech Journal Marketplace is a special
economical section for product and service
listings.
Listings are grouped by category and sold by
column inches. Second color option
available.
Standard Directory Listings are also available
for a minimum of 3 issues at $170 per issue
($510 total).
For additional information
call 212-503-5115.
PC Tech Journal Classified Advertising Staff
One Park Avenue, New York, NY 10016
(212) 503-5115
Advertising Director
Kathryn J. Cumberlander
Sales Manager
Daniel L. Rosensweig
Sr. Advertising Coordinator
Monica Dixon
Advertising Coordinator
Angela Kiffin
Sales Assistant
Linda Annis
Production Manager
Anne R. Brockinton
Production Coordinator
Elliot Appel
Account Managers
Stanley H. Robinson (212) 503-5116
AL, AR. lA, IL. IN, KS, KY, AZ, CO, OR, NM, LA.
MI, MN, MO, MS, NB, ND, OH, OK, SD. TN. TX, NV,
AK, GA, UT, CA (ZIP 92999 & DOWN), CANADA
(OTHER THAN BRITISH COL.) AND ALL OVERSEAS
CALLS.
Lisa B. Stick (212) 503-5172
CT, MA, ME, NH, NJ, NY, RI, ID, MT, MD. VT, DC,
DE, HI, NC, SC. FL, VA, WV, WI, PA, WA, WY, CA
(ZIP 93000 & UP) BRITISH COL.
232
PC TECH JOURNAL
HARDWARE/ ACCESSORY CARDS
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
HARDWARE/Accessory Cards
DIGITAL SIGNAL PROCESSOR
The Model 10 coprocessor board is based on the
16/32 bit Tl TMS 32010 and is designed for ap¬
plications in communications, speech, instru¬
mentation, and numeric processing. A IK
complex FR takes 90ms. Offered with onboard
12 bit 80 Khz A/D and D/A. Includes all utility
and applications software. $650-$850.
DALANCOSPRY
Suite 241 2900 Connecticut Ave. NW
Washington, DC 20008
(202)232-7999
ADD 4 SLOTS TOIBM-PC!
The Addcard allows updating your IBM-PC sys¬
tem by adding 4 more card slots. It easily in¬
stalls in the 5 slot motherboard providing 8 slots
total. Accepts many boards including turbo,
modem, floppy or hard disk controllers ram,
serial-parallel ports, security & others. Only
$79.00 + $3 P&H. Visa & M/C accepted.
Merak Industries
8704 Edna
Warren, Ml 48093
1-800-231-4310 Ext 768 or 313-562-9768
IBMAT SPEEDUP
THE HIGH performance
Speedinjectof from Ariel
-- - A fiiiu/ aiitnmatin Soi
® A fully automatic Speedinjector
for all IBM ATs including speed
limiting ROM BIOS. Uses reliabje
2 B B / 2 s 7 frequency synthesis for total
ir
t' 1P^\\ switching "
With The XCEU Sm'Eu'sSsT
.*
(Suggested dealer installation charge $49.95)
^ fast 80286-10 -Replacement CPU for speeds of «cUJ-/l) $259.95
f;; \ 10 MHz and above.•
FAST 80287 - 8,10,12,14 and 16. Speeds test.
rated & guaranteed . /mrpd scall
ov FAST RAM 128K & 256K, 100NS & 120NS .^
^ mil-SPEC crystals - The Famous Ariel C^stals. Choose from (Crystal/
CPU speed) 16/8,17/8.5,18/9, ®^^^(;AT-j6//7//fl//9/20/ $19.95
increase overall speed up to 300%
Order Line;
800 - 641-3322 ext mo
Direct Line;
201 - 788-9002
FULL 2-YEAR WARRANTY
ON ALL PRODUCTS
Ariel Computer Corporation
Post Office Box 866 a Flemington, NJ 08822
CIRCLE 265 ON READER SERVICE CARD
TECH MARKETPLACE .
Second Color Option Available
East and
Eacilitating.
DISKETTE DUPLICATION
All formats. Quality tested. From 25
to 1000 duplicated in 24 hours—25,000
per week.
COPY PROTECTION
NoClone copy protection. Each appli¬
cation uniquely encripted.
DOCUMENTATION PRODUCTION
Complete coordination service. Text
printing. Custom sleeves, labels and
tabs.
PACKAGING ASSEMBLY
Full turnkey service. All types of
binders. Shrink wrapping and ship¬
ping cartons.
DELIVERY FULFILLMENT
Computerized Inventory. Pick and
ship to your customer list. National
delivery service.
_DISKETTE DUPLICATION AND PRODUCTION
1050 North Fifth Street, San Jose, California 95112
(408) 947-1161 OUTSIDE CA; 1-800-826-4296
CIRCLE 266 ON READER SERVICE CARD
TMS 32020 yS\
PC COPROCESSOR S^
BOARD \M^
•20 MHz, 5 MIPS, Addressing 256K
• 1 Clock 16 Bit Multiply
• Ideal for High Speed Numerical
Analysis, Graphics, and DSP
• External User BUS for A/D & D/A
• Monitor/Debugger & C Utilities
• Fractals, Rotations, FFT Demos
and Source Included
$900 board & 32K
$1100 board & 256K
$150 TMS32020 assembler
SYMMETRIC RESEARCH
15 Central Way, Suite 9, Kirkland, WA 98033
206 - 828-6560
CIRCLE 267 ON READER SERVICE CARD
COMMUNICATIONS
Category
begins on next page
PC TECH JOURNAL
MARKETPLACE is a
special economical
section for product and
service listings.
Listings are grouped by
category and sold by
column inches.
Second color option
available.
Standard Directory
Listings are also available
for a minimum of 3 issues
at $170 per issue
($510 total).
SEPTEMBER 1987
233
HARDWARE COMMUNICATIONS—SOFTWARE COMMUNICATIONS
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Communications
IBM COMPATIBLE RS232 EASI-DISK
3V275V4" FLOPPY DATA STORAGE &
TRANSFER SYSTEMS
Information Transfer to/from Non IBM Com¬
patible Systems to/from IBM and Compati¬
bles: (Over RS232 Interface or 488 Interface).
iiB
• Reads & Writes IBM PC/MS DOS Disks
• RS-232CI/0/488
• Rugged Portable Package/Battery Option
• ASCII or Full Binary Operation
• Baud Rates 110 to 38.4 K Baud
• Automatic Data Verification
• Price $895 in Singles - OEM Qtys. Less.
28 other systems with storage from 100K to 35 megabytes.
CIRCLE 268 ON READER SERVICE CARD
ANALOG & DIGITAL
PERIPHERALS. INC.
815 Diana Drive
Troy, Ohio 45373
513 339-2241
TWX 810 450-2685
ARC-MAP
Asynch RS-232 Comm - Monitor/Analyzer Prog
Use PC to diagnose data communications. With
cables, manual; 2-19200 BPS; 32K bfr; data, er¬
rors, mdm sig’s; Passive, Active, BERT; ASCII,
EBCDIC. Hex, Dec, Oct; bfr search; event traps;
timer; save strings, setups, data; EASY use!!
$249.30dayM/B
George Driver
1316 El Rancho Dr.
Bakersfield, CA 93304
(805)835-1916
Compatibles
Peripherals
TURBO
lOMHz
MMB
AT/XT
ATSI.ISO S1.800WSEAGATEST-2S140MB
HI RtS 1720x350) AMBER MOMIOR • INTEL 8028&6710 MH/ • ONE
MB RAM ON BOARD • PHO0JIX BIOS • HERCULES EMULATION
GRAPHICS CARO vk/PRINTER PORT • SERIAL PORT • OPERATES
MS/PC DOS XENIX UNIX GW BASIC • 8 SLOTS • WD CONTROLLER
2F072H0 • ENHANCED KEYBOARD w/LEOS • 200 W PCWER • ON
BOARD CL0CKAVU.ENWR • 12MB FLOPPY • HAREWARE RESET •
SPEAKER • 00287 SOCKET • ACCEPTS ALL IBM PARTS • OPTL
EGAXOLOR 0" WAlTn2 MW ‘FULLY SET UP7TESTE0 • MANUALS •
ONEYEARPARTSA-ABOfl
XTS6S0 S900wSEAGArE22S20MB&1FO
HI RES (720x350) AMBER MONITOR • INTEL 8068-2 4 77/80MW
OPTIONAL MEC V-20 OR 10MWRUNNING300% WSTER THAN IBM PC
. 640K ON BOARD • PHOENIX BOS • 150-W • HERCULES EMULATION
GRAPHICS CAflOYw PRINTER PORT • OPERATES MS/PC-OOS GW
BASIC • 8 SLOTS • MULTI YO CARD WITH 2 FD CONTROLLER
PRiNTER/GAME/SERIAL PORTS • BATTERY BACKUPED
I iME/CALENDAR • ENHANCED KEYBOARtYw LEDS • 150 W POWER •
TWO 360K FUJITSU DRIVES • 8087 SOCKET • SPEAKER • ACCEPTS
All IBM PARIS • fully SETUP/TESTEO • MANUALS • ONE-YEAR
PARTSLABOR*
386 S« MULTI-USER SYSTEMS PLEASE CALL
PORTABLE XT/AT SYSTEMS TOO
PCPHIMESYSTWS.INC.
800 - 451-8279
OPEN 7 DAYS
VI8A/MC/AE
135W26THST 0THFL 6951WARNERST SUITE294
NEW YORK NEW YORK 10001 HUNTINGTONBEACH CA90706
(212)627-4485 (800)451-5279
CIRCLE 269 ON READER SERVICE CARD
SOFTWARE/
COMMUNICATIONS
continued on next page
CREATE A DISKLESS PC!
PC-ROMDRIVE allovi/s users to create a “Disk¬
less PC” capable of booting a ROM-resident copy
of MS-DOS and/or user application programs.
PC-ROMDRIVE consists of a PC-compatible
ROM/PROM expansion board and the PC-
ROMDRIVE software. PC-ROMDRIVE is priced
at $195 for single units. Quantity discounts and
OEM arrangements available. MC/VISA
ALDIA SYSTEMS. Inc.
RO. Box 37634
Phoenix. Az. 85069
(602)866-1786
AUTOMATIC
DISKETTE
DUPLICATOR
• Runs stand-alone or attached to PC
• Copies 5'/4-inch and 3'/ 2 -inch
formats, including IBM PS/2
• One-button unattended operation
• Removable input/output cannisters
• Serialize/Print Labels/Test Alignmen.
$5,995
VICTORY ^
ENTERPRISES
technology Inc
Call 1-800-421-0103
(512-450-0801)
CIRCLE 270 ON READER SERVICE CARD
Peripherals
SPEECH SYNTHESIS
SynPhonix: TRUE Unlimited Speech Synthesiz¬
er for IBM-PC/XT/AT/jr & compatibles. This low
power short card includes an SSi263 speech
chip, amplifier and speaker. Software includes
Text-to-Speech, Phonetic Editor, Talking Clock
& demos. Can be programmed with BASIC and
other languages. Prices start below $200.
S ynPhonix
Electronic Speech Articulator
Artie Technologies
55 Park St., Suite 2
Troy. Ml 48087
(313)588-7370
SOFTWARE
Business
LP88-SPREADSHEETLP
Our best-selling linear programming system
solves problems w/1000 constraints and 5000
variables, reads/writes Lotus worksheets, many
other advanced features. IE News says “the flex¬
ibility and features of this program are a bargain
at its low price! Req. 192k. $149 w/manual and
8087 support. $29 demo.
Eastern Software Products, Inc.
P.O.Box 15328
Alexandria, VA 22309
(703)360-7600
FastTRAP^
The pointing device of the future is here!
• Two and three axis pointing capability
• High resolution trackball for X and Y axis input
• High resolution fingerwheel for Z axis input
• Use with IBM® PC’s. XT's. ATs and compatibles
• Three input buttons
• Full hardware emulation of Microsoft® Mouse
• Standard RS-232 serial interface
• Includes graphics drivers and menu generator
• Easy installation
• 1 year warranty
• Made in the U.SA
ONLY LTS/C Corp.
SI49 00 ^ South Limestone Street
IZrZ Lexington, Kentucky 40508
(606)233-4156
(800) 872-7279
3-D TRACKBALL FOR IBM
CIRCLE 271 ON READER SERVICE CARD
Communications
PC SERIAL DATA ANALYZER
Use your IBM PC or compatible to analyze data
streams between serial devices. Windows show
each devices transmissions in ASCII or HEX. 64K
buffer. Signal line monitoring, disk save, “Lotus”
style interface, an invaluable tool for debugging
serial interfaces. DISK and MANUAL $150.00
TRIPLE C SOFTWARE
1827 S.W. 24th Ave.
Fort Lauderdale, FL 33312
(305)583-0687
^timeslips'^
$99.95
POP-UPTIME 8c BILLING SOFTWARE
"Jewel of a Billing Program'—INFOWORLD, RATED 9.3
Perfect for Attorneys, Accountants, Consultants PR/Advertising
and ANY service professional.
•Tracktime like a "stopwatch"
• Batch enter time/expense data
• Over 5,000 professional bill
formats with aged receivables,
flat fee and more
• Produce custom business and
financial reports
• Export to spreadsheets and
databases
•Track retainer/trust account
• Optional G/L interface now available
NEW!!! TIMESUPS in more reports, more capacity, more
speed, auto back-up and much more.—$199.95. Hard Disk
& 384K required.
For rush service/more information, call (617) 468-7358.
Add $7 s/h. Not copy protected. 30-day money back guarantee.
Call (800) 225-5669 to order
r 3 NORTH EDGE „
L — = I ropp Hsmilton, MA 01936 ■
= — circle 272 ON READER SERVICE CARD |
TECH MARKETPLACE . . .
the comprehensive guide to products and services in the
MS DOS market.
234
PC TECHJOURNAI
SOFTWARE/COMMUNICATIONS—LANGUAGES
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
General
IMPORTANT NEWS FOR DESQVIEW/AST
SPECIAL EDITION USERS
Time is running out for you to upgrade to DESQview 2.0
at the special low price. If you act before September 30,
1987 you get DESQview 2.0 for only $50 plus $5 ship¬
ping and handling (add 6.5% sales tax in California).
After that date you can still upgrade but your cost will be
$80 plus $5 shipping and handling. So hurry and save.
Send your DESQview registration card and check to:
DESQview 2.0 Upgrade Offer
Quarterdeck Office Systems • 150 Pico Blvd. • Santa Monica, CA 90405
Tel. (213) 392-9851
Communications
1
ETHERNET
FOR PCs.
PC/TCP is a complete
ethernet package for PCs.
Connects PCs to other
PCs or UNIX hosts.
Runs on any PC
or compatible and requires
a 3COM, Interlan, Proteon,
or BICC board.
Price: $400 per PC.
UnlPrcssSoftunrc
2025 Lincoln Hwy.
Edison, NJ 08817
800-222-0550 (Outside NJ)
201-985-8000
Telex: 709418
CIRCLE 273 ON READER SERVICE CARD
Engineering
METAL FABRICATORS
PC/Cultist takes input from your bill of mate¬
rial—Detail drawing and calculates the best
cutting combination for any length stock and
prints a shop ready cutting list and scrap report.
Also an optimization feature finds best multi
length for mill orders. Price $300.
Demo Disk $25.00
THE JOSEPH ALBERT CO.
P.O. Box 611
Blue Island, Illinois 60406
(312)349-9032
ENGINEERING
SOFTWARE
You will save hours of
developnnent tinne with our
library of integrated progranns.
• Graph Plotting
• Equation Processing
• Simultaneous Equations
• Complex Arithmetic
• Pop Up Calculator
• Fourier Transforms
• Top Down Designer
• and more.
For a FREE CATALOG:
write Pulse Research, Dept
Eng 4, P.O. Box 696,
Shelburne, Vt 05482 (802)
985-2928
CIRCLE 274 ON READER SERVICE CARD
TAPE/DISK CONVERSIONS
Conversion services to or from over 800 com¬
puter systems:
• Magtapes
• Micro Computers
• Mini Computers
• Word Processors
• Typesetters
Our conversion capabilities surpass most in the
industry.
PIVAR COMPUTING SERVICES, INC.
165 Arlington Hgts. Rd.#T
Buffalo Grove, IL 60089
(312)459-6010
Grapihcs
You can NOW
with SLEd!
SLEd offers a remarkably simple
method of creating graphics
and incorporating them into
your documents using your ed¬
itor and a laser printer ...
SI 49.95
SOFTWARE
P.O. Box 6158
UUle Rock. AR 72216
501-376 2083
CIRCLE 275 ON READER SERVICE CARD
Grapidcs
FORTRAN GRAPHICS LIBRARY
GRAFMATIC (screen graphics): 75 MS
FORTRAN/Pascal, R-M/Profort, Lahey FORTRAN
callable subroutines. Fully documented, prof,
graphics capabilities, Inc. general utility, 2-D in¬
teractive, total 2-D plots, 3-D plots and solid
models. $135. H-P or H-l plotter? get
PLOTMATIC, complete plotter graphics library.
Interfaces w/GRAFMATIC. $135. Both $240.
MICROCOMPATIBLES, INC.
301 Prelude Drive Dept. J
Silver Spring, MD 20901
(301)593-0683
35mm SLIDE FROM YOUR PC
COMPUTER SLIDE EXPRESS converts graphic
files produced on the IBM PC into brilliant 35mm
color slides with color resolution 400% better
than your monitor. Leave your printouts behind.
Use high resolution color slides up to 4000 line.
COMPUTER SLIDE EXPRESS $9/slide.
VISUAL HORIZONS
180 Metro Park
Rochester. NY 14623
(716)424-5300
C GRAPHICS. ONLY $89!
GRAF-PAC: Over 90 fast functions.
• Complete window management
• Point, line, lineto, polyline
• Circle, ellipse, blockfill, blocksave
• Fonts and font editor
• And much more... Supports lattice, MS,
Turbo C
The Enaar Software House
P.O. Box 10072
Costa Mesa, CA 92627
(714)631-2140
PC PEN-PLOTTER EMULATION
FORTRAN callable, Versatec/Calcomp compat¬
ible (PLOTS. PLOT. AXIS. LINE. SYMBOL, etc. plus
extras) plotter emulation for CGA, EGA, Here,
Epson, C. Itoh and compatibles. Libraries for MS
3.3/4.0 and Lahey F77L. Includes 100-f page
manual, complete examples on disk. Only $150,
call for educational discount and PGC prices.
F and S Software
7604 Peacock Drive
Huntsville. Alabama 35802
(205)881-6268
Graphics
TEMPLE
DATATAP™ GRAPH‘S
for
IBM XT,AT,PS/2
Developed at Temple University
BEST SCIENTIFIC
PLOTTING SOFTWARE
x-o.
INTERACTIVE, introductory
WYSIWYG
TEXT CHARTS SQQ.OO
TRANSPARENCIES
MIHAUSIN ASSOCIATES I
600 HONEY RUN ROAD
AMBLER, PA 19002
21S-646’3814
CIRCLE 276 ON READER SERVICE CARD
Languages
FIRMWARE DEVELOPMENT IN C
REX-C/86 C package supports ROM code gen¬
eration. Includes XC86 C compiler which imple¬
ments draft ANSCIC standard, supports-in-line
assembly, produces optimized 8086/87/186
reentrant code for real-time environment, gen¬
erates separate segment for initialized data and
string constants for ROM-based applications,
produces object file in Intel OMF with debug in¬
formation, global and local symbols with data
type and line numbers for high-level debugging.
Price is $750 which includes XC86, linker, loca¬
tor, librarian, hex formatters, and run-time li¬
brary source.
SYSTEMS & SOFTWARE. INC.
3303 Harbor Blvd., oil
Costa Mesa, CA 92626
(714)241-8650
SEPTEMBER 1987
235
SOFTWARE/LANGUAGES—PROGRAMMERS TOOLS
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Languages
Programmers Tools
** Introductory Special **
FTL MODULA-a ONLY $73.95
Large Memory Model Modula-2 Compiler for MSDOS Systems.
Includes: Compiler, Linker, Editor, 8087 support, and full Library sources
FTL Modula-2 can create programs as large as your available memory.
Don’t Delay Order TODAY!!
SAVE $10.00 when you order one
or more of the support packages. Workman & Associates
Editor Toolkit $39.95 1925 E. Mountain Street
Small Compiler $49.95 Pasadena, CA 91104
8087 support (SMM) $29.95 (818) 791-7979
CIRCLE 277 ON READER SERVICE CARD
TURBO DEVELOPMENT SYSTEM
Only $39 - A complete environment for devel¬
oping Turbo Pascal programs. Find and correct
all syntax errors in one pass. In many cases you
have the option of checking only sections of your
program. Includes built-in editor, DOS Shell
as well as Delete, Rename and copy without
exiting program. Not copy protected. MC & Visa
welcome. Add $3forS/H.
MicroHelp, Inc.
2220 Carlyle Drive
Marietta, GA 30062
(800) 922-3383 in GA (404) 973-9272
TURBO PASCAL GENERATOR
GTP APPLICATION DEVELOPMENT SYSTEM
Builds complete, working applications.
You give it spec’s, it writes error-free code
• Indexed Data Bases • Multiple Screens
• Report Generator • Menu Generator
• Context-Sens. Help • Global Searching
Easy to Use Price $200.00 Visa/MC,ck,M0
AEF
RO. Box 928
Katy,TX 77492
(713)391-8570
FINALLY! MODULES
Add class to your compiled BASIC programs with
FINALLY ! MODULES. Use pull-down WIN¬
DOWS, horizontal menus, pop-up help screens,
input screen and directory managers. For use
with FINALLY! Library and Quick Basic 2.0 or IBM
compiler 2.0.30 day MoneyBack guar. Visa/MC/
CK/MO. FINALLY! MODULES is $99+$4 s/h.
Komputerwerk Inc. Dept PCT
851 Parkview Blvd.
Pittsburgh, PA 15215
(412)782-0384
Networking
NOVELL NETWORKING PRODUCTS
When reliability and performance really count you
can’t afford anything less than Novell. We offer
quality Novell products and accessories, fast
courteous service and competitive pricing for all
your networking needs. Our experienced staff is
waiting to serve you. Call today for information
and quotes.
BENEDEK ENTERPRISES
104 Cool Springs Road
White Oak, PA 15131
412-751-8381
MENUET™
MULTIUSER LAN MENU SYSTEM
Organize all applications into one menu system
Create professional network menus without batch files
Access programs quickly with one-key or cursor-select
Customize menus, coiors, passwords for each user
Give or deny access to DOS to each user
Allow user l^on and logoff without reboot
Provide context-sensitive help for menus and options
Run programs. DOS functions, batch files
Create, delete, and modify menus quickly and easily
Password protect user-ID's and menu options
Maintain a virtually unlimited number of user-ID's
Build systems wKh up to 200 menu screens
Add up to 24 options per menu
Nest menus up to 20 deep
Written in fast, compact ‘C language
$ 99.50
License for one Network
Network Support Corporation
3701 Kilby Drive, Suite 1110
Houston, TX 77098
(713) 521-1211
Dealer and Distributor Inquiries Welcome
CIRCLE 278 ON READER SERVICE CARD
PROGRAMMERS TOOLS
category continued on next page
ofarbware Modula-2
• Full 3rd Edition Language
• Large Memory Model/Unix make
• DOS Linker Compatible Object
• Both 8087 and 8087 simulation
Very fast compiler, runtime source, many exten¬
sions, site licensing, assembler interface. $89.95
MC/VISA/CorpPO/CK
farbware
1329 Gregory
Wilmette, IL 60091
(312)251-5310
Operating Systems
Multitasking
DOS 2.1 - 3.2
PC & 286, 386 real
1) Do windows <&. use numeric
variables in BAT files
2) Run up to 23 propams con¬
currently with full intertask
communications
3) Has a system status and
utilities pop-up screen
''Extended DOS'' $ 39
Pgm interface tech ref $ 120
Distributed Software
3951 Emerson St.
Marietta, Ga. 30062
_ 404-977-0152
CIRCLE 279 ON READER SERVICE CARD
Programmers Tools
IBM PC X-ASSEMBLERS
Develop MPU products on your
PC! 21 different fast cross-
assemblers. Both absolute and
relocatable. Linker, Locater,
Librarian, Format Converter,
X-reference, Macros, Public,
Local symbols and more.
rslins
RELMS^" PO BOX 6719
SAN JOSE, CA. 95150
TWX 910-379-0014
(408) 265-5411
(800) 448-4880
CIRCLE 280 ON READER SERVICE CARD
TURBO PACKAGE 3.0 (for Turbo Pascal)
MULTI-TASKING, MULTI-PROCESSING, & MODULAR REENTRANT 640K PROGRAMS
FREE: A multi-processor data entry program for 2 or more machines.
Don’t pay high prices for a network. Turbo
Package has true multi-processing. Use all the
power and memory you need.
A file processor LAN only gives you shared
disk drives and a print spooler. Turbo Package
lets you run data entry on several PC’s,
number crunching on a 386, intelligent file pro¬
cessing on an AT/XT, and print spooling. Hard¬
ware required: one PC or compatible. Any
MIMDA configuration is possible.
Balance your work load and reduce hard¬
ware costs. Network with a modem (Wide Area
Network), RS232, or RS422 (Local Area
Network).
Few code changes required. Call 640K pro¬
grams, single processor tasks, and multi¬
processor tasks just like procedures and
functions.
You also get ZapIO, a high speed screen
10 that works with writelnQ.
Turbo Package 2.0
w/ 640k Pascal programs.$59.95
w/ Multi-Tasking.89.95
Turbo Package 3.0
w/ Multi-Processing.149.95
SuperMath 32-bit toolbox
40-h math routines.24.95
90 day money back guarantee (In Texas add TAX)
Visa. M/C. or COD Shipping: USA $5
Foreign $10
Conversational Computer Systems
5371 Verbena Rd. '
San Antonio, TX 78240
Ph: (512) 692-0353
^CIRCLE 281 ON READER SERVICE CARD
FIRMWARE DEVELOPMENT
LINK & LOCATE enables PC users to produce ROM-based
firmware for 8086/87/186 from object files generated by
popular C compilers, such as from Microsoft, Lattice and
Borland’s Turbo C, and MASM from Microsoft, Provides full
control of segment placement anywhere in memory. Sup¬
ports output of Intel HEX file for PROM programmers, Intel
OMF absolute object file for symbolic debuggers and in-
circuit emulators. Includes Intel compatible linker, locator,
librarian, hex formatter and cross reference generator. $350.
NEW! Includes utility to support PC based PROM
programmers.
SYSTEMS St
sU SOFTWARE i
3303 Harbor Blvd., C11, Costa Mesa, CA 92626
Phone (714) 241-8650 FAX (714) 241-0377 TWX 910-695-0125
CIRCLE 282 ON READER SERVICE CARD
236
PC TECH JOURNAL
SOFTWARE/PROGRAMMERS TOOLS
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR T HE MS DOS MARKET
Programmers Tools
Structure for Assembly?
Unique program adds structure to assembly
language. IBM/MASM compatible. Develop and
debug faster with structured concepts. If-then-
else, select-when-other, do while, do until, do
incremental, all combinations, and do forever.
Leave/leaveall loop exits, and file includes. Nest
16 deep. $50.
LANEY SYSTEMS, INC.
3 Office Park Drive Ste. 100
Little Rock, AR 72211
501-225-7755
ASSEMBLY LANGUAGE TOOL
VersiCREF’“ creates a sorted Master Cross-
Reference Listing of an entire application from
the MASM CRF files. Pinpoints which source
modules are affected by changes to common
PROC's, variables, etc. Handles 100+ separate
program source files. Full X-Ref or just PUBLIC
symbols. $55 MC/VISA/COD/AMEX.
SUMMIT INFORMATION SYSTEMS INC.
73 East Lane
Willingboro,NJ 08046
1-800-334-4096 (in NJ 609-871-0202)
FORTRAN Developers
Essentials for documenting and debugging large
FORTRAN programs. DOCUMENT’er: prepares
x-reterences and symbol tables for an ENTIRE
program with ALL routine, COMMON,... defini¬
tions +ALL uses. DIAGRAM’er; draws clear dia-
gram(s) of complex code and data structures of
your code. Interactive + many display options.
Needs only existing source, MAP, and library files.
All compilers supported. Both $128.75
A IMPULSE
ENGINEERING
RayStrong, (415) 788-4611
IMPULSE Engineering
P.O.Box 3540
San Francisco, CA 94119-3540
Productivity Tools
Softw^ Revision Management System
SRMS is a full featured version control
system featuring:
• 10 Integrated Utilities with user shell
• Capability for hundreds of versions/library
• Merge utility resolves parallel effort conflicts
• Report Generation Utilities
• Typeset documentation and much more!
Version 3.0 S185
QMAKE**”
• Program generation utility petlcmed after
UNIX make to aid in rebuilding sytems
• Recompiles only routines necessary
• Support for macros arxl multiple entry points
• Integrates fully with SRMS
TXTTOOLS
• QDIFF - Windowed File Diffoeoc* Utility
* QSE - Quill Stream Editor
• QSRCH - Like UNIX CREP
$85
Quilt Computing
7048 Stratford Road
SS) m
Woodbury. MN 55125
CIRCLE 283 ON
V612) 739-4650 READER SERVICE CARDJ
PASCAL-to-C TRANSLATOR
Industrial strength conversion from Turbo, Mi¬
crosoft, UCSD, MT+, Apollo, Macintosh, and
other Pascals to K&R C. Handles nested proce¬
dures, intrinsic functions, separately compiled
units and modules, all data types including long
integers.
Requires 512K IBM PC/XT/AT. Send up to 500
lines of Pascal and we will convert it for FREE.
Site licensing from $5,000. Conversions 50
cents/line.
TGLInc.
27096 Forest Springs Ln.
Corvallis, OR 97330
(503)745-7476
CROSS-TRANSLATION UTILITIES
Convert 8085, Z80 Assembly language pro¬
grams to 8086 assembly language programs.
2500 lines converted and re-assembled on IBM
PC in 20 minutes. With a error-free listing. Also,
8080/8085 to Z80 or NSC800 conversion. Use
Microsoft MASM! Ask for what you need!
raifns
RELATIONAL MEMORY SYSTEMS. INC
RELMS’“
PO Box 6719
SAN JOSE, CA. 95150
Call (800) 448-4880 (408) 265-5411
TWX 910-379-0014
BASIC/COBOL SCREEN CODE
• Create screen code for Quick/Turbo BASIC
• ($39). IBM/MICROSOFT/REALIA COBOL ($59).
• Powerful editor. Paint, edit, draw etc. All
• attributes. Foreign language capability.
• REALIA/BASIC includes cursor, border, beep
• etc. COBWORK generates report headers ($39).
• shp $5.
Tajeva Software
6064 Belle Grove Cove S.
Memphis, TN 38115
(901)365-4692
VERSION CONTROL SYSTEM
****NEW! TLIB'“4.0! ****
See review of TUB V3 elsewhere in this issue of
PC Tech Journal. The fastest, most powerful
source code control system is now even faster ,
with many new features : Keyword substitution,
generalized wildcard and list-of-file support,
branching, more. DOS 2.X/3.X $99.95 $3 s/h.
BURTON SYSTEMS SOFTWARE
RO. Box 4156
Cary. NC 27519-4156
(919)469-3068
EditingTools 2.1
Now you can have a slick full-screen multi-file
text editor for only $35. Enjoy the ease of editing
many files at once and the freedom of moving
text among files. File sizes are limited only by
memory. With an easily reconfigurable key¬
board and a convenient multidirectory DOS shell.
Add $4 for s/h.
Dr. Jiann Jou
RO. Box 460969
Garland. TX 75046
(214)495-8862
SCREEN MANAGER
SAVE TIME! Powerful Screen
Designer and Data Entry Mana¬
ger Increases Your Productivity!
Interfaces to most languages.
BASIC, FORTRAN, COBOL, C,
PASCAL, PLM86, ASM. Not a
Code Generator! No Royalties.
The West Chester Group
P.O. Box 1304
West Chester. Pa 19380
79
VISA/MC
(215) 644-4206
FREE DEMO DISK
CIRCLE 285 ON READER SERVICE CARD
S t r u B A S
structured BASIC Development System
QuickBASIC - IBM BASIC 2.0
Design screens in minutes with powerful
screen designer using any editor. Modify
most features without recompiling.
Interface to Btrieve. ISAM, and Screens
with single commands. Offers program
generators, menu utility, subroutine
library, utility programs, network
support thru Btrieve, and preprocessor to
extend BASIC and enhance structure.
NOT CQFY PROTECTED
Site and Coqroratc liccascs available.
UNEY SYSTEMS. INC
3 Office Park Drive, Ste. 100
Little Rock. Arkansas 72211
501-225-7755
VISA/MC ACCEPTED _ $495/$5demo.
FREE 30 DAY TRIAL
CIRCLE 286 ON READER SERVICE CARD
M Street Softwa^re
SCRUTINY
Advanced Symbolic Debugger
for all MS-DOS computers
M Street Software 5400 E. Mockingbird, Suite 114
214-827-4908 Dallas, Texas 75206
Information also available via our
24-hour 300/1200 modem: 214-669-1882
CIRCLE 287 ON READER SERVICE CARD
One-stop ROM Shop
When your application calls for ROM support,
contact the professionals at ALDIA SYSTEMS,
We’ve been supporting firmware developers for
over two years with excellent software develop¬
ment tools and technical support. Don't settle
for imitations, call the company who brought you
PC-LOCATE, the original PC locater.
PC-LOCATE: Produce ROM-able code from
your ".EXE" files. PC-LOCATE assigns physical
addresses to the re-locatable image based on
user inputs. PC-LOCATE support the entire Intel
processor family including : 8086, 8088,80186,
80188 and 80286.
PC-PROMPAK: A PROM/ROM expansion
board for IBM and IBM-compatible computers.
PC-PROMPAK provides up to 384Kbytes of
non-volatile expansion memory and supports
, most 28-pin JEDEC devices including EPROMS.
EEPROMS and Static RAMs.
PC-ROMDRIVE: Create a "Diskless PC" that
can include MS-DOS and your application pro¬
gram. "Autoexec.bat" files are supported for
automatic program execution.
== ALDIA SYSTEMS, Inn. =
P.O.Box 37634 Phoenix. Az. 85069
(602) 866-1786
CIRCLE 284 ON READER SERVICE CARD .
Turbo Programmers
15 MINUTES =200 HOURS
with new turboMAGIC
code generator.
Input forms and help windows up to 66
lines long. Scrolling within framed
windows. Pop-up menus. Pull-down menu
systems. And much more!
"turboMAGIC is the Cadillac of
prototyping tools for Turbo Pascal."
Jim Powell,
COMPUTER LANGUAGE. June 87
"Fast automatic updating of dependent
fields adds flair to your input screens.
...turboMAGIC will be a blessing for
programmers who would rather not write
the user interface for every program."
Neil Rubenking,
PC MAGAZINE. 24 Feb. 87
Order your MAGIC today! Just $99. Call
800-225-3165. Money Back Guarantee.
Requires 256K IBM PC compatible.
CIRCLE 288 ON READER SERVICE CARD
Before you buy an expensive text editor,
look what you can do with
~FAST-EDI :
• Edit up to ten large files at once
• Use up to six windows
• Cut and paste between files
• Move, Copy, Delete, Save and Print blocks
• Enter DOS without exiting: edit output
• Perform full Search and Replace
• Define Macros . . . Plus lots more!
YixWi'^FAST-EDI it’s all fast and easy.
Comes with tutorial and moneyback
guarantee.
System Vision Corp.
P.O. Box 281166
San Francisco, CA 94128
415/355-7308
CIRCLE 289 ON READER SERVICE CARD
SEPTEMBER 1987
237
SOFTWARE PROGRAMMERS TOOLS—TERMINAL EMULATION
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Programmers Tools Public Domain
SciENTinc
Statistics
PROFESSIONAL PROLOG TOOLS
A power packed collection of invaluable predi¬
cates for speeding up Al application develop¬
ment. Uncompiled code supplied with copious
examples. No royalties. (Requires Turbo Prolog).
PRICE $79 VISA/MC/CHECK
30 day money back guarantee.
DRYDEN SOFTWARE
P.O. Box 238
Santa Barbara, CA 93102
(805) 683-1650
What is Turbo Ghostwriter?
An Application Generator for Turbo Pascal"
Complete Database in Minutes! Draw & paint
screens with our tools. Tell Turbo Ghostwriter to
retrieve your data. * Screen Editor/Painter * FABS
PLUS B - Tree File Manager * Multiple fields/
Key * Multiple Keys/ index. Application Gener¬
ator produces Context sensitive Flelp &
Documentation. All for only $200! 60-day
money back guarantee. M(i/VISA/PO/COD
- Company Check.
Info/order: 800-227-7681: In NC (919) 782-7703
ASCII - Automated Software Concepts Int’l. Inc.
3239 Mill Run
Raleigh. NC 27612-4135
MULTI-TASKING TOOLKIT
Write your ‘C’ programs with cooperating, con¬
current tasks using INTERWORK. Very useful for
parallel programming, simulation, and real-time
applications. INTERWORK supports more than
100 tasks, provides inter-task communication
facilities, and handles DOS interrupts. PC/DOS
version $129, Xenix $159, Unix $249.
Block Island Technologies
13563 NW Cornell Road. Suite 230
Portland, Oregon 97229-5892
(503)241-8971
CIRCLE 379 ON READER SERVICE CARD
IBM PUBLIC DOMAIN
Send two stamps for free catalog. We have
games/word processors/data bases/spread
sheets/graphics/inventory control budget pro¬
grams/checking/artificial intelligence and much
more. For home or business. All programs DDDS
high quality disks. Only $3.00 per disk. Flundreds
to choose from.
Echo Disk Copy
P.O. Box 50132
Mobile. AL 36605
TURBO PASCAL$2.50-disk
TSS, the BBS-by-mail. 120+ disks of com¬
pressed files. Membership fee ($25) inci starter
pkg + 2 FREE disks with 1st order. Cat list $5.
Anniversary sale; $250 for full membership PLUS
full, library thru disk 150. Visa/MC/COD + $5.
Non U.S. + $10 U.S. funds only. Call our online
BBS (617) 545-9131. All files online!
TURBO SOURCE SEARCH
P.O. Box 876
Scituate, MA 02066
(VOICE) 617-545-6677
Scientific
SCI/ENG GRAPHICS
OMNIPLOT [S] (screen graphics) & OMNIPLOT
[P] (plotter driver) provide integrated engineer¬
ing/scientific 2-D & 3-D graphics with NO PRO¬
GRAMMING! Menu-driven, flexible, professional.
Choice of formats: tabular/line, contour, bar, pie,
3-D wire frame & much more! OMNIPLOT [S]
$195. Add OMNIPLOT [P], both $295.
MICROCOMPATIBLES, INC.
301 Prelude Dr. Dept. J
Silver Spring, MD 20901
(301)593-0683
SCI-GRAFandSCI-CALC
SCI-GRAF produces huge hi-res graphs thru easy
menus or linkable C libraries. Supports log scales,
error bars, point labeling, screen and printer
output. SCI-CALC is a pop-up calculator with
complete expression editing, scientific, statisti¬
cal, and logical functions. Requires IBM PC
compatibility. Prices start at $79.95 .
Microcomputer Systems Consultants
32 West Anapamu, Suite 190
Santa Barbara, CA 93101
(805)963-3412
NUMERICAL C SOFTWARE
Computationally stable numerical routines for C
software developers. LINLIB contains complex
arithmetic, solutions to equations, approxima¬
tions, LU, QR, Cholesky factors of matrices, least
squares solutions, eigenvalues. LINLIB has
splines, B-spline routines, spline interpolation,
spline approximation of data. $165.
INFORMATION AND GRAPHIC SYSTEMS
15 Normandy Court
Atlanta, GA 30324
Call (404) 231-9582
RATS! New Version 2.10
Full function regression, time series and fore¬
casting program. Multiple regressions, includ¬
ing stepwise. Non-linear least squares. ARIMA
models, transfer functions & intervention anal¬
ysis. Exponential smoothing, spectral analysis,
Kalman filter, model simulations and much more!
High-quality graphics to screen, plotter, printer.
$200-3300. Visa/MC.
VAR Econometrics, Inc.
P.O. Box 1818
Evanston, IL 60204-1818
(312) 864-8772; (800) 822-8038
Security Devices
BREAKTHROUGH IN SECURITY!
Ultimate protection against software piracy! Un¬
like current schemes, which can be bypassed
by debugging tools, COMBITRON I utilizes
realtime dynamic interaction between the pro¬
tected software and a hardware unit through
address and data scrambling. Virtually un¬
breakable. Available for PC/XT/AT/Compati-
bles and PS/2.
T LOG Technologies Corp.
9 Bentley Rd.
Plainview, NY 11803
(516) 932-9057 TELEX 650-276-0098
EVERLOCK
COPY PROTECTION
Designed for user-transparency, clone
compatibility & strength. It features:
• no need for damaged media or I/O plugs
• supports all Hard & Floppy disk formats
• file-server networks supported
• variable number of installs (0-99)
• create demos with remote unlock option
• allows protected upgrades by modem/BBS
$195 Starter Kit or $495 with NO meter
counts. Free info & demo disk available.
Az-Tech Software, Inc.
305 East Franklin
Suite A4A
Richmond, MO 64085
(800) 227-0644 . . . (816) 776-2700
CIRCLE 291 ON READER SERVICE CARD
PowerStat
An extremely powerful program with a
good user interface PC Tech Journal
Excellent analysis of variance routines
• Basic Statistics
• Regression
• Multivariate
• Counted Data _
• Analysis of Variant
Analytical Engineering Corporation
P.O. Box 9, Station P,
Toronto, Ontario, Canada M5S 2S6
(416)960-3030
CIRCLE 292 ON READER SERVICE CARD
Terminal Emulation
PCBTAM
Communications Access
Method
General purpose binary synchronous
access method for custom file transfer
or terminal emulation on PC/XT/AT
with IBM BSCA card.
• high performance, full featured
• object ($300.00) or source
($2,500.00) license
• link with ASM, Lattice or Microsoft
programs
• Z-SIO version available
Symbiotic, Inc.
1035 Route 46 East
Clifton, NJ 07013
201-777-6454
CIRCLE 293 ON
READER SERVICE CARD
FAST FOURIER TRANSFORMS
* Subroutine for integer data; VERY FAST. 1024
points in 109 millisec on 8 MHz AT.
* Subroutine for floating-point: ACCURATE. 1024
points in 700 mS with 8 Mhz 80287.
* Call from MS FORTRAN, C, QuickBASIC, Turbo
Pascal, Lattice C, assembler. GREAT DOCS.
* Check or PO: $175 ea/ $275 for both.
J.W Hartwell & Associates
Route 4 Box 1540
Hillsborough, NC 27278
(919)732-7951
BIT-LOCK® SECURITY
Piracy SURVIVAL 5 YEARS proves effectiveness
of powerful multilayered security. Rapid decryp¬
tion algorithms. Reliable/small port transparent
security device. PARALLEL or SERIAL port.
Countdown and timeout options also available.
KEY-LOK" security at about BIT-LOCK cost.
MICROCOMPUTER APPLICATIONS
7805 S. Windermere Circle
Littleton, CO 80120
(303) 922-6410 or 798-7683
Term/Comm Productivity Tool
PereLine emulates VT100, VT52, DG210/211,
IBM3101 Vidtex and two connections at same
time. Learn mode lets your PC create auto¬
logons and other scripts. Remote operations, exit
to DOS while connected, customize your own
menus and 5 file transfer protocols including
batch file transfer Only $69.95
PEREGRINE DATA SYSTEMS INC.
5365 Baron Drive
San Jose, CA 95124
408-356-6105
TECH MARKETPLACE . . . The Comprehensive Guide
TERMINAL EMULATION
to Products and Services for the MS DOS Market
For more information call (212) 503-5115
category continued on next page
238
PC TECH JOURNAL
SOFTWARE/TERMINAL EMULATION—UTILITIES
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Terminal Emulation
BARR/HASP INTELLIGENT RJE
WORKSTATION
Hardware and software communications pack¬
age for IBM PC, XT and AT. Simultaneously
transmits data to host and receives output di¬
rectly to MVS/JES2, MVS/JES3. VS/RSCS, and
CDC/NOS, bypassing TSO and CMS. Emulates
IBM 3777-2 and HASP on IBM 360/20. Line
speed: 1,200 to 19,200 baud (56,000 bps on AT).
Supports multiple high-speed printers beyond
2,400 Ipm. (6,000 Ipm on AT). Features:
concurrent DOS, LAN support, printer forms
control, plotter support, unattended operation,
easy installation. $1,290 includes Hardware
& Software.
B/IRR
BARR SYSTEMS, INC.
2830 NW 41st Street, Building M
Gainesville, FL 32606
(800)-BARR-SYS/(904) 371-3050
Utilities
DISK ACCELERATOR V2.0
DiskCache speeds up your hard disk access. Disk
caching and ram disk in one package. Ram disk
shares cache space. Transparent, flexible, con¬
figurable, no h/w changes. RAM, EMS, and AT
extended memory versions incl. Not copy pro¬
tected. VISA, MC, volume discounts. No PC’s
w/o prior approval. $49.00
DATAMORPHICSLTD.,
P.O.Box 820
Stittsville, Ontario, Canada KOA 360
Or call (613) 836-2670
HARO DISK EXPANSION!
Disk Manager allows the installation of any
ST506 hard disk on PC,XT,AT and compatibles.
Volumes up to 256mb! Menu driven/auto in¬
stall, compatible w/ all vers of MS/PC DOS (does
not modify DOS), up to 16 volumes, easy to use!
$125+ ship. Ask about Novell product! Dealer
inquiries invited.
QNTRRCK
COMPUTER SYSTEMS INC.
ONTRACK COMPUTER SYSTEMS, INC.
6222 Bury Drive
Eden Prairie, MN 55344
(612)937-1107 1-800-752-1333
UHLITIES
VIEW ANY DOS FILE
View, print, modify, or search the contents of any
file. File Dump 2.0 lets you view a file continu¬
ously or as fixed length records. Record lengths
up to 50K are supported. Select any record.
Search and update in hex and ASCII. Prints
mainframe-style dumps. Search & modify. EXE
files easily. $49.95+$4 s/h. CT add 7.5
LASOR Computer Specialists
RO. Box 5137
Rocky Hill, CT 06067
(203)721-0261
SPEED UP YOUR HARD DISKI
For fast, efficient, time-saving use,
organize your hard disk with
Vopt!
Vopt consolidates the fragmented
files that slow down and wear down
your disk. Now your hard disk can
find what it’s looking for — all in
one place!
Vopt is fast! Initial organization
averages under 5 minutes! Daily
runs from the AUTOEXEC file
average under 1 minute!
Vopt includes — Vmap for graphic
display of HD utilization, Vseek for
HD seek times, Vmarkbad to flag
bad clusters, plus much more!
Get Vopt and get going!
ONLY M9.95
Add $3 shipping & handling
CA residents add 6% sales tax
GOLDEN BOW SYSTEMS
2870 Fifth Avenue
Suite 201
San Diego. CA 92103
619/298-9349
Vopt is a trademark of Golden Bow Systems
CIRCLE 295 ON READER SERVICE CARD
CopyWrite
Now you can debug your own programs
with a professional quality debugger -
the one that unraveled every form of
copy-protection used on the PC.
With the Quaid Analyzer, you can:
□ See occurrences of any interrupt, with its
meaning shown on the screen.
□ View memory as text or instructions,
scrolling as easily as you do with an editor.
□ Run until a memory location or I/O port Is
changed.
□ Protect your hard disk from accidental
destruction.
□ Analyze software without the source, even
when it uses countermeasures to thwart
tracing.
□ See all stages of the boot load.
We kept the Quaid Analyzer off the
market to avoid helping publishers with
copy-protection. Now that copy¬
protection is gone, we can sell it to
you.
The Quaid Analyzer is a software tool occupying 100K bytes. It
runs on any IBM PC and most MS-DOS systems without hard¬
ware modification.
Quaid Software Umited
$99 U.S. (416) 961-8243
All orders shipped at^lyM||^^ or write to:
our expense within a ^ 45 Charles St. East
day. All major credit Third Floor, Dept. 602
cards accepted. Toronto, Ontario. M4Y 1S2
Ask about Disk Explorer the program that takes over
where Quaid Analyzer leaves off.
CIRCLE 294 ON READER SERVICE CARD
Tech
Marketplace...
Second Color
Option Available
For More Information
or to Place Your Ad
Call (212) 503-5115
Compress Your Data 10X FASTER!!
• PKARC & PKXARC can compress your files even smaller and up to
TEN TIMES FASTER than the other ARChive program.
• “PKARC/PKXARC is the system to use.”
-Dr. Dobbs Journal of Software Tools
Only $45 + 3.50 s/h. Wl res. add 5% tax. OUi ■ ij-L/iO
7032 N. Ardara Ave., Glendale, Wl 53209 (414) 352-3670 IMiUIQi'S IIIC*
CIRCLE 296 ON READER SERVICE CARD
SEPTEMBER 1987
239
SOFTWARE/UTILITIES
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO P RODUCTS AND SERVICES FOR THE MS DOS MARKET
Utilities
— —— - ■ - - 3RHB
ASCII FILE COMPARISON
Side by side comparison in sliding windows;
printed record of program updates. Highlights
labels, subroutine names, line numbers. Cus¬
tom or standard label, statement and remark
delimiters. Matches out-of-sequence sections.
$35.00 includes shipping.
Opus-1 Systems, Inc.
300108th Ave. SE
Bellevue, WA 98004
(206)454-4879
THE COMPLETE DISK UTILITY
If it’s on a disk or diskette. Disk Explorer will find
and display it. Disk Explorer, the complete disk
utility: Recovers files. Displays, changes, cre¬
ates and compares sectors. Creates tracks that
can’t be duplicated by DOS, locates the precise
end of a track, creates specialized track formats.
Allows viewing and moving of clusters. Reports
on disk drive speed, increases the speed of
reading data and much more. IBM PC, XT or AT,
128kb and one diskette drive. $75.00 U.S. Check/
Credit card welcome.
y
QuaidSoflware Limited
QUAID SOFTWARE LIMITED
45 Charles St. East, Third floor
Toronto, Ontario M4Y1S2
(416)961-8243
FREE SPACE ON
FULL DISKS WITH
Get megabytes of extra disk space
without the expense or effort of
installing a new hard disk.
Squish even lets other software
(dBASE III, R:base. etc.) read or
update compressed files while they
stay compacted on disk... without
any software changes! That’s right,
without expanding one byte on disk!
A must for databases ... compress
them up to 90®/o! Reduce text files,
spreadsheets, etc. up to 60%.
"Ideal for.. .large data files"
PC Magazine 2/24/87
"You owe it to yourself... check this
one out ’ ’ NYPC Newsletter Feb 87
PC/XT/AT«DOS 2.0 & up*40K resident
Order today! Just $79 + $5 S/H:
SunDog Software
Corporation
(718) 855-9141
264 Court St. Brooklyn. NY 11231
CIRCLE 297 ON READER SERVICE CARD
RECORD/PLAYBACK KEYSTROKES
TOTAL RECALL records an unlimited number of
keystrokes and plays them back after a failure
or mistake. Also for demos, running interactive
programs in batch, or repeating keystrokes. 3
playback speeds plus ACTUAL for timing sen¬
sitive programs. Built-in edit. PC/XT/AT/Com-
pat. $79 VISA/MC 30 day guarantee.
Computer Foundations
2604 Elmwood Avenue, Suite 320
Rochester, NY 14618
(716)586-9756
LIMSIM
Expanded Memory Simulator for the PC/AT and
compatible 286 machines. Use the extended
memory you already have as Lotus style Ex¬
panded Memory. Fully supports EMS version 3.2.
Requires 70k of conventional memory. $50 ($75
with assembler source) plus $5 s/h. 30 day
money back guarantee. Visa/MC accepted.
Larson Computing
1556 Halford Ave. #142
Santa Clara, CA 95051
(408)737-0627
Spread¬
sheets
50°o to
AT’s DON’T NEED 360 KB DRIVES
CIRCLE 299 ON READER SERVICE CARD
The 1.2MB drive has long been known to READ but NOT reliably
WRITE on 360KB floppies. With “CPYAT2PC” 1.2MB drives CAN
reliably WRITE 360KB floppies saving a slot for a second hard
disk or backup tape. “CPYAT2PC” (Not Copy Protected) offers
the preferable SOFTWARE SOLUTION.
• NO software or hardware modification
• A 360K drive is NOT required
• “CPYAT2PC” program MAY reside on hard disk
• Runs on IBM PC/AT and COMPATIBLES
i.e. Compaq Deskpro 286/386, AT&T 6300 + ,
HP Vectra, Sperry PC/IT, Tandy 3000
Only $79.00 + $4.00 S/H VISA, MC, COD, UPS-B/R
ORDER TOLL FREE 1-800-621-0851 XT777
_ TELEX EZLINK 62873089
VBM* I Dealer Inquiries Invited
MICROBRIDGE COMPUTERS
655 Skyway #125
San Carlos, CA
CA 415-593-8777
NY 212-334-1858
CIRCLE 298 ON READER SERVICE CARD
CompiBss your data
into 1/10^ the space!
Introducing ARC. It’s used to create and main¬
tain data file archives for computers operating
under any DOS system.
But it does something that other archive
and library utilities can’t. It automatically
squeezes the files being saved so they ^
take up less space. Like a can of con¬
centrated orange juice.
From 20% to 90% less, depending on
the kind of data being saved!
So there’s more room to store data,
no matter what media it’s stored on! And
that’s like giving a shot of vitamin C to
your savings on equipment and supplies.
This compressed data can be trans¬
mitted over telephone lines in a lot less ■ ■
time than it takes to transmit uncom-
pressed data. So you can beat the high
cost of phone bills to a pulp, as well. '
ARC has a full range of functions for archive
creation and maintenance. Including password
encryption to protect data from unauthorized use.
Typi cal Compre ssion Rates^
Program^^"^^^ ASCII
I ^ Itext I -
20% to ls=(n^|50%to I O
30%. ^&JBI60%. I ^
9 A ^
System Enhancement Associates • 21 New Street, Wayne, NJ 07470 • (201)473-5153
XT/AT HARD DISK DIAGNOSTICS!
Disk Manager Diagnostics performs extensive
tests on your ST412/506 hard disks. Areas tested
are: Controller, data write/read, seek test, auto¬
matic error correction(ECC), random reads and
media defects. Interactive help. Excellent error
detection and isolation. $49.95 ship.
VISA/MC accepted.
QNTRflCK
COMPUTER SYSTEMS INC.
ONTRACK COMPUTER SYSTEMS, INC.
6222 Bury Drive
Eden Prairie, MN 55344
(612)937-1107 1-800-752-1333
Ammunition to conquer
your biggest problems!
• The Virtual Expanded Memory Manager
provides your EMS applications with up to
eight megabytes of expanded memory.
• It turns PC/AT extended memory into
expanded memory.
e It turns hard disk storage into expanded
memory.
e It's compatible with most EMS applications,
including 1 -2-3, Symphony, and Reflex.
e Only $89.95. 30-day money-back guarantee.
V-EMM^
Fort’s Software
P. O. Box 396
Manhattan. KS 66502
(913) 537-2897
CIRCLE 300 ON READER SERVICE CARD
PC TECH JOURNAL
MARKETPLACE is a
special economical
section for product and
service listings.
Listings are grouped by
category and sold by
column inches.
Second color option
available.
Standard Directory
Listings are also available
for a minimum of 3 issues
at $170 per issue
($510 total).
240
PC TECH JOURNAL
SOFTWARE/UTILITIES, SOFTWARE/DATA BASE MANAGEMENT—MISCELLANEOUS/PUBLICATIONS
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Utilities
Software/Data Base Management
“BOOST YOUR PRODUCTIVITY WITH A BUNDLE OF
FAST, POWERFUL
SCREEN AND KEYBOARD UTILITIES!”
•Get 43 line EGA support
•Extend your ANSI.SYS to VT100
• Over 60 useful options!
• Works well w/thousands of programs
• Used by thousands since 1984!
• Speed up screen writing 2-6 times!
• Add zip to cursor keys 2-5 times!
• Get back up to 800 scrolled pages!
• Save valuable scrolled info to disk
• Free your eyes from scroll blinking
"The Best of the Best Utilities"— PC Magazine Jun 23. 87 pg 281.
"The implementation of all the services provided are at least as good in
Fansi-Console as in any competitor”— Capital PC Monitor May 86 pg 25.
"Another of those unheralded gems I would not wish to live without”
"Clear, readable, highly professional manual, excellently typeset”
—Computing Canada Feb 5. 87 pg 25.
’ANSI-CONSOLE “
The Integrated Console Vtility^^
Pay Less and Get More! Only $75! (plus $4 s/h in 48 states)
400p Manual (w/slip case) & 2 Copyable Disks
With No Risk, 60 Day Money-Back Satisfaction Guarantee
CALL (313) 994-3259 NOW TO ORDER (Visa/MC/AmEx)
HERSEY MICRO CONSULTING, INC., Box 8276, Ann Arbor, Ml 48107
CIRCLE 375 ON READER SERVICE CARD To Get FREE Brochure w/Reprints
4GL
FOURTH GENERATION DEVELOPMENT
DATABASE/APPLICATIONS GENERATOR
Sculptor
40
Times Faster Than Other
Fourth Generation Languages
Cut Your Software
Development Time by Up To...
80%
Completely portable for more than 90 combinations
of machine and operating systems including
MS-DOS, Unix, Xenix, VMS, OS9, QNX and more.
Test drive Sculptor on your MS-DOS system with our complete evaluation
system for only $45.00. (Includes a 5% discount coupon!)
FHL
770 JAMES STREET
SYRACUSE, NEW YORK13203
315/474-7856 TELEX 646740 Since 1976
CIRCLE 378 ON READER SERVICE CARD
Hard Disk
Partitioning ^
Software
Breaks the
32 MB Barrier...
EFFORTLESSLY!
■ For PC-ATs, XTs, and compatibles.
■ Creates multiple DOS partitions,
up to 2,048 MB each.
■ Supports ST412, RLL, ESDI and
SCSI controllers.
479
"SpeedStor software makes installation simple and
pain!ess... its user interface is a Joy to work with."-pc week
Miscellaneous/ Bar Coding
BAR CODE READERS
• IBM, AT&T, Link, Kimtron, TeleVideo,
• Alloy, DEC keyboard interfaces or RS-232C
• Need others? Call.
• NO programming. Reads dot matrix
• Auto-recognition and single code decoding
• Reads Code 39, UPC A/E, Codabar & 12 of 5
• Units in stock, 2 year warranty
• Bar code printing software, call for info
PERCON, Inc.
2190 W. 11th
Eugene, OR 97402
(503)344-1189
BAR CODE &
MAGNETIC STRIPE
READERS
for the IBM PC & AT
Simple & quick installation
No additional software or port
Metal wand & case
Also available:
Bar code printing software
Magnetic stripe encoders
Units for other computers & terminals
GSA approved
TPS ELECTRONICS
4047 Transport Street
Palo Alto, CA 94303
Telephone: 415-856-6833
Telex: (Graphnet) 371-9097 TPS PLA
FAX: 415-856-3843
CIRCLE 377 ON READER SERVICE CARD
■ Recommended and used by major disk drive,
controller, LAN and PC manufacturers.
■ The industry standard: over 100,000 units sold.
Now includes SpeedCache caching soft¬
ware and Disk Drive diagnostics ....FREE
Business
Opportunities
STORAGE
DIMENSIONS
The Experts in High Capacity PC Storage
( 408 ) 395-2688
981 University Ave.
Los Gatos, CA 95030
CIRCLE 376 ON READER SERVICE CARD
SS33
TECH MARKETPLACE . . .
The Home of the Power Buyer
FIFTY PERCENT DF PRDFITS
We want to publish your subroutine package
written in C, Pascal, Modula-2, COBOL, FOR¬
TRAN. PL/I, and MASM. Also, templates or
skeletons or data for applications. Send a one
page brief and $12 for an immediate appraisal,
our requirements, current needs, and a sample
contract for 50% royalties.
Software Components International, Inc.
323 East William - Suite 236
Ann Arbor, Ml 48104
PUBUCATIONS
DATABASE INDEX DF PCTJ
The program contains a database of titles of
feature articles, letters, etc., for 4 years (vol 1-1
to 5-6) of PCTJ cross referenced and indexed with
key words. User supplies a set of key words to
search the database for titles with matching
keywords. $16.95 (Wl + 5% tax).
...LET YOUR COMPUTER 00 THE LOOKING...
Bit-Stream Products
5302 Burnett Drive
Madison. Wisconsin 53705
(608)233-4324
SEPTEMBER 1987
241
INDEX TO ADVERTISERS
I'C Ti;ci 1 joiiRNAi. si;PTi;ivii'>i;i^ 19S7
READER
SERVICE NUMBER ADVERTISER PAGE
116 Advanced Logic ... Back Gatefold Cover
253 AI Architects .....56
* AJS Publishing.148
153 Aker Corporation.39
105 Alsys..98&99
* AnsaSoftware. 6&7
136 Arity Corporation. 214
* AST Research .. .12 & 13
206 ATT Technologies. 107
203 Atron. 8
249 Atron.16
165 Attachmate Corporation.66
129 Bay Technical Associates.189
102 Blaise Computing. .25
254 Borland Inti..Front Gatefold Cover
106 Bufi^o Products...193
* Burr-Brown.209
147 Byte Connection, Inc.229
124 Cadre Technology.160
234 Canon.154 & 155
112 Casio.176
111 Catamount Corporation.219
117 CDA World of Computers.228
* Compaq..71-73
235 Computer Classifieds, Inc.226
* Creative Programming Cons ...88
144 Crescent Software..41
167 Crosstalk Comm.Back Cover
114 Cyber Tech.90
135 DataBase.116 & 117
110 Digiboard Inc.162
220 Digital Research.113
131 Ecosoft Inc.144
119 FairCom.194
225 Fifth Generation.197
133 FlagstaffEngineering.159
172 Giltronix.211
109 Golden Software.150
146 Gryphon Microproducts Inc.221
221 Guidelines Software:.177
113 HavenTree Software.26
238 Hayes Microcomputer.92
149 Ibex Computer Systems.221
210 I-BUS Systems. 120
166 Information Technologies.123
242
READER
SERVICENUMBER ADVERTISER PAGE
108 Innovative Data Technology.222
187 Intel Corporation..46 & 47
209 Interactive Microwave..222
134 ITS. 230
258 Kadak Products LTD. .221
239 Keytronics International.109
241 Kyocera Unison.78
170 LAN Systems Inc.203
160 Lattice, Inc.'.Ill
143 Lifeboat Assoc.173
229 Logitech. 115
125 Lugaru Software.178
148 Machine Ind. Software.156
161 Maltrox.153
178 Maxtor.54
228 Meridian Technology.121
259 MetaWare. 22
211 Micro Data Base Systems.139
* Microsoft Corporation .:.23
* Microsoft Corporation.17—20
150 Microsoft Corporation.60
180 Micro Sync Inc. 140
120 MicroTec Research.204
* MicroWay.231
237 Mitsubishi. 64
174 Mortice Kern Systems Inc.24
224 Nantucket Corporation.145
191 Norcom..142
186 Oakland Group.170
222 Opt-Tech Data Processing.4
* Oracle Corp. 11
159 Orchid Technology.147
185 Overland Data, Inc.127
230 Paradise Systems.151
233 PC Brand. 28-31
215 Periscope Company.5
227 Personal Comp. Graphics.21
183 Peter Norton Computing.178
188 Plotworks ..174
190 Polytron.86
175 Programmer’s Connection.41-43
173 Programmer’s Paradise.227
162 Programmer’s Shop..48
151 Programmer’s Shop.175
READER
SERVICENUMBER ADVERTISER PAGE
193 QDP Computer.157
181 Quantum Software. 158
137 Quarterdeck OfiSce Systems.68
* Raima Coip. 171
157 Rainbow Technologies, Inc..190
195 Ryan-McFarland. 129
197 Santa Clara.199
240 Scantel Systems Ltd..228
107 Scientific Endeavors Corp.222
127 Scottsdale Systems.228
219 Seagate Technology..182 & 183
198 Seidl Comp. Engrg..191
200 SessionWare Inc.221
202 Sigma Designs. 37
201 SoftCraft.2
142 Software Garden. 195
217 Software Interphase.143
196 Software Link. 201
130 Solution Systems.14
177 Stargate Technologies.174
152 Symmetry Group.196
194 Tall Tree Systems.35
138 Teknika.I6l
155 Telebyte. 202
182 TeleVideo Systems Inc_... 184 & 185
* Texas Instruments. .94
164 3M. 44&45
* TranSec Systems Inc.229
207 True BASIC, Inc.152
213 U.S. Robotics. 206
115 Vermont Creative.27
204 Video 7 .168
218 Visionics Corp. .,.126
169 VM Personal Comp.105
132 Wallsoft Systems Inc.213
154 WyteCorp.130
214 Xanthus ..96
236 Zanthe.131-134
PC TECH JOURNAL
INDEX TO PRODUCTS
PC TECH JOURNAL SIlPTEMBi;K 1987
RS# PRODUCT ADVERTISER PAGE RS# PRODUCT ADVERTISER PAGE
IBM and COMPATIBLE PCS
116 ALR Access 386 Advanced Logic Inside Back Cover
* Compaq Computer Products Compaq.71-73
210 PC-AT Board Level I-BUS Systems.120
237 Mitsubishi MP286 Mitsubishi Electronics.64
MULTIFUNCTION/MEMORY CARDS
• Rampage 2, Advantage 2 AST Research.12 & 13
187 In Board Intel Corporation.46 & 47
180 d Clock II NiicroSync Inc.140
159 Product X Orchid Technology.147
GRAPHICS SYSTEMS/CARDS
206 EGA Wonder ATI Technologies.107
l6l PG 1281 Matrox.153
230 AutoSwitch EGA Paradise Systems.151
227 Photon Graphics Board Personal Comp. Graphics.21
193 VIVA 2000, VIVA 2000^ VTVA
1280 QDP Computer Systems, Inc. ... 157
202 Sigma VGA Sigma Designs.37
204 VEGA Deluxe Video 7.168
MASS STORAGE HARDWARE
111 9 Track Tape System Catamount Corporation.219
133 9 Track Tape Flagstaff Engineering.159
149 9 Track Tape System IBEX Computer Systems.221
108 “LEO” Innovative Data Technology .... 222
178 Speedstor hard disk Maxtor.54
185 9 Track Micro Overland Data, Inc.127
197 Batram Santa Clara Systems.199
219 Data Manager Seagate Technology.182 & 183
155 Multifunction Storage Telebyte.202
164 Back Up Systems 3M.44 & 45
PRINTERS-PLOTTERS
129 Print Master Bay Technical Associates.189
234 Laser Beam Printer Canon USA Inc.154 & 155
241 Laser Printer Kyocera Unison Inc.78
194 J Laser Plus T^l Tree Systems.35
MODEMS
238 Smart Modem 2400 Hayes Microcomputer.92
PROGRAMMER'S TOOLS
* * db/LIB A.J.S. Publishing. .148
105 PCAT ADA Compiler Alsys, Inc.98 & S>9
203 PC Probe Atron.8
249 Mini Probe Atron.16
102 C Tools Plus Blaise Computing.25
254 Turbo C Borland Inti. .. Front Gatefold Cover
* Vitamin C Creative Progr. Cons.88
144 Quick Pak/QBase Crescent Software.41
114 VersiEdit CyberTech.90
220 GEM Digital Research.113
119 R-Tree/C-Tree FairCom.194
109 PC/Forms Screen Mgmt. Golden Software.150
146 The Weiner Shell Gryphon Microproducts.221
113 Flowchart HavenTree Software.26
125 Epsilon Lugaru Software.178
148 C Tree Query Machine Independent.156
259 386 Compiler MetaWare.22
1'20 C Cross Compiler MicroTec Research.204
191 Screenio Norcom.142
186 C-Scape Oakland Group.170
222 Sort, Scroll & Recall Opt-Tech Data Processing.4
233 Programmers Tools PC Brand.28—31
215 Periscope Periscope Company.5
183 The Norton Editor Peter Norton Computing.178
188 PLOTT 88 Plotworks, Inc.174
190 Polymake & Version Control Polytron Corp.86
198 Seidl Make Utility & Version
Manager Seidl Computing Engrg.191
200 Netclock Sessionware.221
201 B Trieve SoftCraft.2
142 Demo Program Software Garden.195
217 Quick Windows Software Interphase.143
152 “Keep Out” Slate System Symmetry Group.196
115 Windows for Data Vermont Creative.27
132 UI Programmer Wallsoft Systems Inc.213
154 XO-Shell Wyte Corp.130
COMPUTER AIDED SOFTWARE ENGRG.
124 Teamwork/PC SA Cadre Technologies.160
SOFTWARE UTILITIES
191 Screenio Norcom.142
DATA ACQUISITION
*
DMA
Burr Brown.
.209
209
Catalogue
Interactive Microware ....
.222
MONITORS
138
MJ503 Monitor
Teknika.
.I6l
EXPERT SYSTEMS/AI SOFTWARE
* PC Scheme Texas Instruments.94
GRAPHICS SOFTWARE
107 Graph C 4.0, VTEK 4.0 Scientific Endeavors Corp.222
MICRO-MINI MAINFRAME COMMUNICATIONS
239 KB 3270 Keytronics International.109
169 Relay 3270 VM Personal Comp.105
LOCAL AREA NETWORKS
165 3-N-l Attachmate Corporation.66
106 Buffalo SX Buffalo Products.193
225 The Logical Connection Fifth Generation Systems.197
172 Easy Queue Giltronix.211
166 Link Up LAN Gateway Information Technology.123
170 The LAN ShelLThe LAN Librar¬
ian LAN Systems, Inc.203
196 LAN Link Software Link.201
182 PM/286 Network Server TeleVideo Systems Inc. .. 184 & 185
OTHER COMMUNICATION HARDWARE
110 Digiboard COM/XI Digiboard Inc.162
177 Stargate OC8000 Stargate Technologies.174
COMMUNICATION SOFTWARE
167 Crosstalk Crosstalk Comm.Back Cover
228 Carbon Copy Meridian Technology.121
SCIENTIFIC/ENGINEERING SOFTWARE
218 EE Designer Visionics Corporation.126
LANGUAGES
136 Prolog Compiler Arity Corporation.214
254 Pascal, Basic, Prolog Borland Inti. . . Front Gatefold Cover
131 Microstat Ecosoft Inc.144
146 The Weiner Shell Gryphon Microproducts.221
221 C++ Guidelines Software.177
160 Lattice Services Lattice, Inc.Ill
143 C++ Lifeboat Associates.173
229 Modula 2 Logitech Inc.115
* Language Newsletter Microsoft Corporation.23
150 MASM Microsoft Corporation.60
* Microsoft “C” Microsoft Coiporation.17-20
195 RM/Fortran Ryan McFarland.129
130 Brief Solution Systems.14
207 True Basic True BASIC.152
153
DATA MANAGEMENT SOFTWARE
Magic PC Aker Corporation.
.39
*
Paradox 2
Ansa Software.
... 6 & 7
135
Dataease
Dataease Int’l.116 & 117
211
MDBS III
Micro Data Base Systems..
.139
224
CUPPER
Nantucket Corporation....
.145
*
Professional Crack
Oracle Corp.
.11
*
DB Vista
Raima Corp.
.171
236
ZIM
Zanthe.
131-134
253
OPERATING SYSTEMS
OS/286 and OS/386
AI Architects.
.56
258
AMX Multi Tasking
Kadak Products Ltd.
.221
174
MKS Tool Kit
Mortice Kern Systems Inc..
.24
181
QNX
Quantum Software Systems
.158
137
DESKview
Quarterdeck Office System
.68
213
OTHER SERVICES
Courier HST
US Robotics.
.206
214
Documentation
Xanthus.
.96
112
OTHER SUPPLIES
CM-100
Casio Inc.
.176
SECURITY DEVICES
157 Software Sentinel
Rainbow Technologies, Inc.190
147
MAIL ORDER
Mail Order
Byte Connection, Inc.
.... 229
117
Mail Order
CDA World of Computers . .
.... 228
235
Mail Order
Computer Classifieds, Inc...
.... 226
134
Mail Order
ITS.
.... 230
*
Mail Order
Micro Way.
.... 231
175
Mail Order
Programmer’s Connection .
.. 41-43
173
Mail Order
Programmer’s Paradise.
.... 227
162
Mail Order
Programmer’s Shop.
.48
151
Mail Order
Programmer’s Shop.
....175
240
Mail Order
Scantel Systems Ltd.
.... 228
127
Mail Order
Scottsdale Systems.
.... 228
•
UNLock
TranSec Systems Inc.
.... 229
SEPTEMBER 1987
243
CALENDAR
SEPTEMBER
September 1-3
PC EXPO
New York, NY (PC EXPO) Con¬
tact: Jim Mion, PC EXPO, 333
Sylvan Ave., Englewood Cliffs, NJ
07632; 800/922-0324; in New Jer¬
sey, 201/569-8542
September 14-18
Electronic Printer and Publish¬
ing Conference
Miami, FL (CAP International)
Contact: CAP International, One
Snow Road, Marshfield, MA
02050; 617/837 -1341
September 21-23
Conference on Software
Maintenance
Austin, TX (mbs, dpma, and ieee-cs)
Contact: Roger Martin, National
Bureau of Standards, Bldg. 225,
Rm. B266, Gaithersburg, MD
20899; 301/921-3545
September 23-25
PC Tech Journal Systems Forum
San Diego, CA (PC Tech Jour¬
nal) Contact: Marti Cunha, PC
Tech Journal, Suite 800, 10480
Litde Patuxent Parkway, Colum¬
bia MD 20144; 301/740-8300
September 23-25 .
Writing Better Computer Soft¬
ware Dociunentation for Users
Atlanta, GA (Georgia Institute of
Technology) Contact: Deidre
Mercer, Dept, of Continuing
Education, GIT, Adanta, GA
30332; 404/894-2547
September 28-October 1
Conference on Electronic/
Desktop Publishing
San Francisco, CA (National
Computer Graphics Association)
Contact: NCGA, 2722 Merrilee
Dr., Suite 200, Fairfax, VA 22031;
800/225-6242; 703/698-9600
September 29-October 2
INFO 87
New York, NY (Cahners Exposi¬
tions Group) Contact: Frank
Fazio, Show Manager, INFO 87,
999 Summer St., Stamford, CT
06905; 203/964-8287
OCTOBER
October 4-8
OOPSLA ’87
Kissimmee, FL (acm sigplan)
Contact: Object Oriented Pro¬
gramming: Systems, Languages,
and Applications Conference;
ACM, 11 W. 42nd St., New York,
NY 10036; 212/869-7440
October 5-7
National Connectivity
Symposium
Chicago, IL (Digital Consulting
Associates, Inc.) Contact: Semi¬
nar Services Department, 6
Windsor Street, Andover, MA
01810; 617/470-3870
October 5-8
ASPLOS-II
Palo Alto, CA (acm sigplan) Con¬
tact: Architectural Support for
Programming Languages and
Operating Systems Conference,
ACM, 11 W. 42nd St., New York,
NY 10036; 212/869-7440
October 6-7
Data Security and Control: A
Management Overview
New York, NY (New York Uni¬
versity) Contact: NYU, School of
Continuing Education, Seminar
Center, 575 Madison Ave., New
York, NY 10022; 212/580-5200
October 13-15
PC EXPO/Chicago
Chicago, IL (PC EXPO) Contact:
Jim Mion, PC EXPO, 333 Sylvan
Ave., Englewood Cliffs, NJ 07632;
800/922-0324; in New Jersey,
201/569-8542
October 15-17
Northeast Computer Faire
Boston, MA (Interface Group)
Contact: The Interface Group,
Inc., 300 First Ave., Needham,
MA 02194; 617/449-6600
October 19-23
Expert Systems in Government
Washington, DC (Mitre Corpora¬
tion and lEEE-cs) Contact: ieee-cs,
1730 Massachusetts Ave. NW,
Washington, DC 20036;
202/371-0101
October 20-22
NetWorld ’87
Dallas, TX (PC EXPO) Contact:
Annie Zdinak, PC EXPO, 333 Syl¬
van Ave., Englewood Cliffs, NJ
07632; 800/526-3247; in New Jer¬
sey, 201/569-6409
October 25-27
Print Quality Seminar
Bedford, MA (Datek) Contact:
Frank Stefansson, Datek Infor¬
mation Services, Inc., P.O. Box
68, Newtonville, MA 02160;
617/893-9130
October 26-28
CEPS/FaU
Boston, MA (Cahners Exposition
Group and InterConsult, Inc.)
Contact: Corporate Electronic
Publishing Systems Conference,
InterConsult, Inc., 48 Brattle
Street, Cambridge, MA 20138;
800/255-7798; 617/547-0332
October 27-29
UNIX EXPO
New York, NY (National Exposi¬
tions Company) Contact: NEC,
49 W. 38th St., Suite 12A, New
York, NY 10018; 212/391-9111
October 28-30
AI/East ’87
Atlantic City, NJ (Tower Confer¬
ence Management) Contact:
TCM, 331 W. Wesley St., Whea¬
ton, IL 60187; 312/668-8100
NOVEMBER
November 2-4
DPMA Computer Conference
San Francisco, CA (Data Process¬
ing Management Association)
Contact: DPMA, 505 Busse Hwy.,
Park Ridge, II 60068-3191;
312/825-8124
November 3-5
COMDEXT^aU
Las Vegas, NV (Interface Group)
Contact: The Interface Group,
Inc, 300 First Ave., Needham,
MA 02194; 617/449-6600
November 9-11
Symposium on Operating
System Principles
Austin, TX (acm sigops) Contact:
Les Belady, Microelectronics
Computer Consortium (MGC),
9430 Research Blvd., Edielon
Building 1, Suite 200, Austin, TX
78759; 512/834-3330
November 9-12
ICCAD-87
Santa Clara, CA (ieee-cs) '^Contact:
International Conference on
Computer-aided Design, ieee-cs,
1730 Massachusetts Ave. NW,
Washington, DC 20036;
202/371-0101
November 11—13
Localnet ’87
Los Angeles, CA (Online Interna¬
tional) Contact: Online Interna¬
tional, Inc., 989 Avenue of the
Americas, New York, NY 10018;
212/279-8890
November 11-13
Optical Publishing and Storage
New York, NY (Learned Informa¬
tion, Inc.) Contact: Learned In¬
formation, Inc., 143 Old Markon
Pike, Medford, ISQ 08055;
609/654-6266
DECEMBER
December 1-3
Optical Information Systems ’87
New York, NY (Conference Man¬
agement Corporation) Contact:
Meckler Publishing, 11 Ferry
Lane W, Westport, CT 06880;
203/226-6967
December 6-9
International Conference on
Information Systems
Pittsburgh, PA (Society for Infor¬
mation Management) Contact:
William D. King, Graduate
School of Business, University of
Pittsburgh, Pittsburgh, PA 15260;
412/648-1587
December 16-18
Microcomputer Graphics ’87
New York, NY (Expoconsul In¬
ternational) Contact: Expoconsul
International, Inc., 3 Indepen¬
dence Way, Princeton, NJ 08540;
609/987-9400 liliffliimiffil
244
PC TECH JOURNAL
ILLUSTRATION‘DAVID POVILAITIS
Last year, Advanced Logic Research introduced
the first 80386 systems. Now we’re introducing
the ALR 386/2™ the second generation.
Until now, if you wanted
three times the speed of an AT
you paid about three times the
price of an AT. Now Advanced
Logic Research announces
second-generation 386 systems-
designed to do to the pri^
barrier what our,
first generation
did to the per¬
formance barrier.
Annihilate it.
Starting at $1990, ALR’s totally
new 386/2 systems couple the
power of 32-bit processing with
true 32-bit memory. Even the
system and graphics BIOS are
implemented in a 32-bit architec¬
ture. That simply means your
applications will run
faster on a 386/2
than any other
available computer.
- And ALR 386/2
systems let you use all the
peripherals, graphics, enhance¬
ments and applications
developed for the most widely
adopted computer operating
environment in history.
Which makes' you wonder
why others want thousands
more for less flexible, first-
generation 386 systems.
a full 17-sector hard disk track,
settling for sector by sector
buffering. Our way makes the
fastest even faster where it
counts—in the real world.
And with up to 2 MB of RAM
on the motherboard, you
get flexibility with your
power.
ROM BIOS
Picture this.
Naturally the raw speed of
80386 means the 386/2 series
make great
Or choose
enhanced
EGA'^'^ or GA 786'^-'^ graphics
from ALR and a variety of
sources and get the most
advanced resolutions available.
The 386/2 series makes
the best use of floor or
desk space.
How to run circles around
the competition.
Sure, Compaq and IBM use
the fastest available hard
disks and controllers
with 1:1 interleaving,
HI Advanced Logic
Research
Compaq
Hi IBM
just like Advanced Logic
Research. But they don’t buffer
You can even run applications
without memory limitations.
Because all enhanced ALR sys¬
tems include the Phoenix
Control/386 Software
utilities with 32 bit disk
caching, Vdisk and
EMS/EEMS Software.
Speed to bum. Without having
money to burn.
Read the reviews and compare
the 386/2 to the others. Then
compare more. If you find more
power, flexibility and quality
somewhere else, buy somewhere
else. You won’t find a more
competitive price anywhere else.
Advanced
Logic
Research
S4389
IBM
$6995
$7094
7000
6000
5000
4000
3000
2000
1000
The ALR 386/2 Model 40 with EGA
adapter is similar to the IBM Model
80-041 and Compaq Deskpro 386
Model 40 with EGA adapter. Except
for a lower price and twice their
standaj^d RAM.
Advanced Logic Research.
Faster, first.
Advanced Logic Research
got its start designing high-
performance microcomputers
for customers that demanded
more power than they could get
off the shelf. We designed one
of the first IBM PC-compatibles.
Developed the enhanced
performance AT-compatible PC
Magazine called “... the most
judicious choice...” And
introduced the first 386 system,
which PC Tech Journal said
“... brings up-to-date technology
to affordable 386 systems!’
Our complete line of perfor¬
mance XT and AT-compatible
systems offers the advanced
technology of one of the
world’s most experienced PC
386/2 Model 10 $1990
design teams. And the cost-
effective quality of Singapore-
based manufacturing. So you
simply get more computing
power for less money. From a
growing international net¬
work of ALR dealers chosen
for their ability to deliver fulh
service and support.
Call Advanced Logic Research
today for the name of your local
ALR dealer. And discover the
price of power isn’t as high as it
used to be.
Performance Specifications
• ALR-designed system board
• 1 MB 32-bit RAM, expandable
to 2 MB on system board
• 1.2 MB floppy disk drive
• Serial and parallel ports
• 8 expansion slots
101 - key keyboard
l6-MHz 80386 processor
(20-MHz optional)
80387 support
386/2 Model 130
$7299
• ALR-designed system board
• 2 MB 32-bit RAM
• 130 MB, 30 ms, or faster,
access time hard disk drive/
500 Kbs/s trans rate
• EMS and EEMS software
• 1.2 MB floppy diskdrive
• Serial and parallel ports
» 8 expansion slots
* 101 -key keyboard
» l6-MHz 80386 processor
(20-MHz optional)
• 80387 support
» 32-bit Vdisk and disk
caching software
Enhancements
386/2 Model 80
386/2 Model 40
$3990
• ALR-designed system board
• 2 MB 32-bit RAM
• 40 MB, 30 ms, or less,
access time hard disk drive/
500 Kbs/s trans rate
• EMS and EEMS software
• 1.2 MB floppy disk drive
• Serial and parallel ports
• Desktop or floormount
• 8 expansion slots
• 101-key keyboard
• 16-MHz 80386 processor
(20-MHz optional)
• 80387 support
• 32-bit Vdisk and disk
caching software
• ALk-designed system board
• 2 MB 32-bit RAM
• 70 MB, 30 ms, or faster,
access time hard disk drive/
500 Kbs/s trans rate
• EMS and EEMS software
• 1.2 MB floppy disk drive
• Serial and parallel ports
• Desktop or floormount
• 8 expansion slots
• 101-key keyboard
• l6-MHz 80386 processor
(20-MHz optional)
• 80387 support
• 32-bit Vdisk and disk
caching software
, ^ ^ Monitor not included
A complete range of enhancements, including 4 MB
32-bit RAM and multifunction products as well as
additional I/O options are available. 640 x 480 pixel
AV EGA with l6 colors and GA 786 graphics adapters
available third quarter.
Advanced Logic Research, Inc.
10 Chrysler, Irvine, CA 92718 (714) 581-6770
FAX: (714) 581-9240 TELEX: 51060H525,
Answ^er back Advanced Logic
From Asia or Europe call ALR/Wearnes Technologv
Phone: (65) 2592521 TELEX: RS38113WRNTEC
Sf>ccifications, configurations and prices subject to change without notice. Copyright 1987 Advanced Logic Research. All rights reserved.
386/2 and GA 786 are trademarks of Advanced Logic Research, Inc. AT a trademark of International Business Machines Corp.
Phoenix and ControI/386 are trademarks of Phoenix Technology, Ltd.
Circle Reader Service No. 116 for Re-seller, No. 121 for End-user.
Announcing
80386 power
with 1 MB
of 32-bit
RAM for
less than
$ 2 , 000 .
No matter wha% you take
CR08SmjCMk.4
♦ ♦ ♦
You won’t encounter a PC conununications program with as much versatility as
CROSSTALK®Mk. 4. It has everything we could imagine you needing today. More
protocols—X.PC, Xmodem. Kermit, and our own CROSSTALK. More terminal
emulations, including complete IBM 3101. DEC VT-100. and TeleVideo 9O0
series. Concurrent conununications capability -r- up to 15 sessions, each ^
\ displayed in its own expandable window, or on separate ' 'pages.' ’ Error
I . checking at high speeds. Prepared script £Qes to extract information from
1 most popul2U‘information utilities. A powerful programming language
K; ^ to create customized scripts. Finally, we’ve built-in a bit of tomorrow.
M \ \ CROSSTALK Mk. 4 is based on a modular architecture that mezuis we
\ \ \ tan add new capabilities by phone, as they come along. So you’re
, ‘ \ getting more than today’s standard in communications software.
* \ .\ You’re getting tomorrow’s as well.
\ ^^D^^CCTAI I/* BiO'tal Communications Associates^ Inc.
\ & Vg^WI /\LI\ 1000 Holcomb Woods Parkway
l V C O M M U N I C A T I O N S Ro.swell. Georoia .'^0076
tradcmartnirngital tommunicaiions As.s<Kil|tcs. Inc.
rk of International nuslne-vs Machines t:orp. tteleVideo